0

我有两个文件,如下所示

文件1.py

class A:
 def method1:
  a = 5

文件2.py

class B
 def method2:
  from file1 import A
   a = 10

忘记逻辑,它只是一个例子。我希望在我的代码中操纵 a 的值。当我这样做时,它给我一个错误,说“未定义全局名称 a”。我怎么解决这个问题。任何帮助将不胜感激

4

1 回答 1

0

您定义它的方式是该方法的局部变量。你想要的是self.a...

文件1.py

class A:
    def method1:
        self.a = 5

文件2.py

from file1 import A
class B:
    def method2:
        objecta = A()
        objecta.a = 10   

但是阅读您的评论,您真正想要的是不同的东西。

Class A:
    def __init__(self):
        self.a = 5

    def logic(self):
        do some stuff...

Class B:
    def solve(self):
        first = A()
        first.logic()
        second = A()
        second.logic()
        etc...

用类做这件事的重点是你可以创建类的多个实例。init 函数根据您的基线创建该类的对象 - 因此每次创建 A 对象时,它都会以您的原始设置开始。

于 2013-09-24T02:46:49.570 回答