Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从不同文件的类访问变量_Python_Class - Fatal编程技术网

Python 从不同文件的类访问变量

Python 从不同文件的类访问变量,python,class,Python,Class,我有两个文件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() 但是我犯了一个错误。类别ii没有属性“t1” 有人能告诉我如何访问a.py中的值t1和t2吗?你的问题不清楚t1和t2的定义在哪里。但

我有两个文件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()
但是我犯了一个错误。类别ii没有属性“t1”


有人能告诉我如何访问a.py中的值t1和t2吗?你的问题不清楚t1和t2的定义在哪里。但是,在使用导入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中定义的某个函数或方法的局部变量,并且在该范围之外不可见。

您必须从class ii调用函数mn才能设置变量t1和t2。所以你必须做一些类似的事情:

import b
ii iclass
t1,t2 = iclass.mn()

希望这能给你一些想法

您可能需要返回self.t1、self.t2,对于mm的返回值,您可以再显示一点代码,包括带有a和b的导入吗?这段代码是来自a.py还是b.py?但是我目前支持@GWWI,我已经尝试修复代码的格式,但是我担心ii中的self.mn调用没有任何意义。你能用更完整的代码更新这个问题吗?很难猜测您所展示的内容是怎么回事。该代码不会给出该错误。代码太大,无法放在这里,因为上传时声明太长
import b
ii iclass
t1,t2 = iclass.mn()