Python全局对象变量 [英] Python global object variable
本文介绍了Python全局对象变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在一个从独立模块的类内部实例化的对象上使用。我正在尝试通过使对象引用变为全局来做到这一点。我想我想利用当前对象而不是创建一个新对象。
I want to make use on an object that has been instantinated inside of a class from a standalone module. I am trying to do this by makeing the object reference global. I think I want to make use of the current object and not create a new one.
假设我在模块文件中有此代码
Assume I have this code in a module file
import moduleFile
class A():
def checkAdmin(self):
global adminMenu
adminMenu = SRMadminMenu()
class SRMadminMenu()
def createAdminMenu(self):
pass
####Put code to create menu here####
def createSubMenu(self,MenuText):
pass
####Create a submenu with MenuText####
在moduleFile.py中我有此代码
In moduleFile.py I have this code
def moduleFile_Admin_Menu():
global adminMenu
adminMenu.createSubMenu("Module Administration")
the在moduleFile.py中的代码给我以下错误。
the code in moduleFile.py gives me the following error.
NameError: global name 'adminMenu' is not defined
推荐答案
您必须
## Code file something.py
import moduleFile
adminMenu = None
class A():
def checkAdmin(self):
global adminMenu
adminMenu = SRMadminMenu()
然后moduleFile.py,
then moduleFile.py,
from something import adminMenu
def moduleFile_Admin_Menu():
global adminMenu
adminMenu.createSubMenu("Module Administration")
注意:如果不更改adminMenu变量,则不必编写 global adminMenu
Note: If you will not change adminMenu variable, you don't have to write global adminMenu
这篇关于Python全局对象变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文