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
欢迎评论
答案 0 :(得分:2)
使用
UAXXXXXXXY
除非您明确导入a=testa.A(111)
,否则必须为包命名,例如
A
答案 1 :(得分:0)
记住这一点:
执行: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文档: