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