Python:在另一个类中更改另一个类中的变量

时间:2013-09-24 02:26:41

标签: python

我有两个文件,如下所示

file1.py

class A:
 def method1:
  a = 5

file2.py

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

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

1 个答案:

答案 0 :(得分:0)

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

file1.py

class A:
    def method1:
        self.a = 5

file2.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对象时,它都将以您的原始设置开始。