我想要在一个对象上使用,这个对象是从一个独立的模块中在一个类中瞬时创建的。我试图通过将对象引用设置为全局对象来实现这一点。我想我想使用当前的对象,而不是创建新的对象。
假设我在一个模块文件中有这段代码
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中,我有以下代码
def moduleFile_Admin_Menu():
global adminMenu
adminMenu.createSubMenu("Module Administration")moduleFile.py中的代码给出了以下错误。
NameError: global name 'adminMenu' is not defined发布于 2013-05-14 22:51:09
您必须在类外部声明全局变量。
## Code file something.py
import moduleFile
adminMenu = None
class A():
def checkAdmin(self):
global adminMenu
adminMenu = SRMadminMenu()然后是moduleFile.py
from something import adminMenu
def moduleFile_Admin_Menu():
global adminMenu
adminMenu.createSubMenu("Module Administration")注意:如果不更改adminMenu变量,则不必编写global adminMenu
https://stackoverflow.com/questions/16511321
复制相似问题