我有两个文件,如下所示
文件1.py
class A:
def method1:
a = 5
文件2.py
class B
def method2:
from file1 import A
a = 10
忘记逻辑,它只是一个例子。我希望在我的代码中操纵 a 的值。当我这样做时,它给我一个错误,说“未定义全局名称 a”。我怎么解决这个问题。任何帮助将不胜感激
我有两个文件,如下所示
文件1.py
class A:
def method1:
a = 5
文件2.py
class B
def method2:
from file1 import A
a = 10
忘记逻辑,它只是一个例子。我希望在我的代码中操纵 a 的值。当我这样做时,它给我一个错误,说“未定义全局名称 a”。我怎么解决这个问题。任何帮助将不胜感激
您定义它的方式是该方法的局部变量。你想要的是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 对象时,它都会以您的原始设置开始。