访问来自不同文件中的类变量
问题描述:
我有两个文件a.py和b.py 在b.py有类定义如下:访问来自不同文件中的类变量
class ii(ldata) .....
self.mn()
def mn(self) ....
return t1,t2
我想要的t1
和t2
值在a.py 在文件a.py我已经进口b
from b import ii
t1,t2=ii()
但我得到一个错误。 class ii has no attribute 't1'
任何人都可以让我知道如何访问a.py
答
您必须调用ii
类的函数mn
才能设置变量t1 and t2
。所以你必须这样做:
import b
ii iclass
t1,t2 = iclass.mn()
希望这给你一些想法。
+0
是的这个工程。谢谢 – 2014-09-05 20:24:27
答
这不是从你的问题,其中t1
和t2
定义明确的价值t1
和t2
。但是,在导入后b
与
import b
有三种方式a.py
可以看到t1
(和t2
,通过类比):
b.t1
- 如果t1
被定义为一个模块级全球,它直接存在于b.py
的全局命名空间中。b.ii.t1
- 如果t1
定义在ii
内部的级别级别,它是一个类变量。inst = b.ii(); inst.t1
-t1
被定义为一个实例变量对类的实例b.ii
否则,t1
似乎是一个局部变量来某些功能或方法在b.py
定义,并且是不可见的超出范围。
您可能需要'返回self.t1,self.t2',返回值为'mm()' – GWW 2014-09-05 17:19:09
您能显示多一点代码,包括带有a和b的导入吗?这段代码是否来自a.py或b.py?但是我现在正在@GWW – 2014-09-05 17:21:01
我试着修复你的代码的格式,但是恐怕'ii'中的'self.mn()'调用没有任何意义,现在它是现在的样子。你能否用更完整的代码更新这个问题?很难猜测你所展示的是怎么回事。 – Blckknght 2014-09-05 17:30:11