import file but reports error NameError: name 'something' is not defined
import file but reports error NameError: name 'something' is not defined
testa.py
class A:
s1 = 333
__age = 0
def __init__(self,age ):
self.__age=age
return
def __del__(self):
return
#private
def __doSomething(self, s):
print self.__age
return
#public
def doSomething(self, s):
self.__doSomething(s)
print s
test.py
import sys
import testa
a=A(111)
a.doSomething('222')
运行
python test.py
它报告错误:
NameError: name 'A' is not defined
欢迎您的评论
使用
a=testa.A(111)
除非明确导入A
,否则必须命名包,例如
from testa import A
记住这一点:
做:import mymodule
不会将mymodule
的全部方法和属性导入命名空间,所以每次需要方法或属性时都需要引用mymodule
从中,使用 .
符号,例如:
x = mymodule.mymethod()
但是,如果您使用:
from mymodule import *
这会将 mymodule
的每个方法和属性都带入命名空间,它们可以直接使用,因此您无需在每次需要调用其中之一时都引用 mymodule
方法或属性,例如:
from mymodule import *
x = mymethod() #mymethod being a method from mymodule
如果你不想带整个模块,你也可以导入特定的方法:
from mymodule import myMethod
有关详细信息,请阅读 Python 文档:
testa.py
class A:
s1 = 333
__age = 0
def __init__(self,age ):
self.__age=age
return
def __del__(self):
return
#private
def __doSomething(self, s):
print self.__age
return
#public
def doSomething(self, s):
self.__doSomething(s)
print s
test.py
import sys
import testa
a=A(111)
a.doSomething('222')
运行
python test.py
它报告错误:
NameError: name 'A' is not defined
欢迎您的评论
使用
a=testa.A(111)
除非明确导入A
,否则必须命名包,例如
from testa import A
记住这一点:
做:import mymodule
不会将mymodule
的全部方法和属性导入命名空间,所以每次需要方法或属性时都需要引用mymodule
从中,使用 .
符号,例如:
x = mymodule.mymethod()
但是,如果您使用:
from mymodule import *
这会将 mymodule
的每个方法和属性都带入命名空间,它们可以直接使用,因此您无需在每次需要调用其中之一时都引用 mymodule
方法或属性,例如:
from mymodule import *
x = mymethod() #mymethod being a method from mymodule
如果你不想带整个模块,你也可以导入特定的方法:
from mymodule import myMethod
有关详细信息,请阅读 Python 文档: