导入文件但报告错误名称错误:未定义名称“something”

2024-05-19 22:26:51 发布

您现在位置:Python中文网/ 问答频道 /正文

在测试.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

在测试.py在

^{pr2}$

python test.py

它报告错误:

NameError: name 'A' is not defined

欢迎发表意见


Tags: pytestselfagereturninitdefprivate
2条回答

请记住:

这样做:import mymodule不会将mymodule的整个方法和属性导入到名称空间,因此每次需要使用.符号从中引用{},例如:

x = mymodule.mymethod()

但是,如果您使用:

^{pr2}$

这将使mymodule的每个方法和属性都进入名称空间,并且它们可以直接使用,因此您不必每次需要调用其方法或属性时都引用{},例如:

from mymodule import *

x = mymethod()  #mymethod being a method from mymodule

如果不想带整个模块,也可以导入特定方法:

from mymodule import myMethod

有关详细信息,请阅读Python文档:

https://docs.python.org/2/tutorial/modules.html

使用
a=testa.A(111)

除非显式导入A,否则必须命名该包

from testa import A

相关问题 更多 >