使用OOP时未找到Python全局变量
现在我遇到了定义的全局变量的问题,但是当运行class对象时,它会引发“未定义变量”的错误 具体来说,使用OOP时未找到Python全局变量,python,oop,Python,Oop,现在我遇到了定义的全局变量的问题,但是当运行class对象时,它会引发“未定义变量”的错误 具体来说, 我创建了一个名为\uuuu init\uuu.py的文件,其中包含全局变量 创建类\u 0.py,包含使用中定义的变量的函数 创建class_1.py,以组合在class_0.py \uuuu init\uuuuu.py asset = {'abc': 123, ...} cost = {...} from __init__ import * class defc(): def fu
\uuuu init\uuu.py
的文件,其中包含全局变量类\u 0.py
,包含使用中定义的变量的函数
class_1.py
,以组合在class_0.py
\uuuu init\uuuuu.py
asset = {'abc': 123, ...}
cost = {...}
from __init__ import *
class defc():
def function(self):
a = asset['abc']
return ...
from __init__ import *
from class_0 import *
class run_main():
def __init__(self):
self.defc = defc()
def run(self):
self.defc.function()
class_0.py
asset = {'abc': 123, ...}
cost = {...}
from __init__ import *
class defc():
def function(self):
a = asset['abc']
return ...
from __init__ import *
from class_0 import *
class run_main():
def __init__(self):
self.defc = defc()
def run(self):
self.defc.function()
class_1.py
asset = {'abc': 123, ...}
cost = {...}
from __init__ import *
class defc():
def function(self):
a = asset['abc']
return ...
from __init__ import *
from class_0 import *
class run_main():
def __init__(self):
self.defc = defc()
def run(self):
self.defc.function()
然后它会引发错误
NameError:未定义名称“资产”
那么如何解决这个问题呢?
asset
变量是一个很长的字典,我不想把它放在一个特定的类中,因为还有其他类可以使用它。保存所有的工作并尝试重新启动内核。你应该知道\u init\u.py
在python 3.3中不再需要+@如何解决我的问题?@ShanN You解决方案对我很有效。你使用的是最新版本的Python 3吗?或者如果你使用的是jupyter
请尝试重置笔记本。根据你的文件布局,你可能需要通过预加一个点(例如from.\uu init\uuu导入…
)来明确导入是本地的。此外,最好使用一些其他模块,如constants.py
,而不是\uuuuu init\uuuuuu.py
,尽管这不会改变语义。