gpt4 book ai didi

class - Python 全局对象变量

转载 作者:行者123 更新时间:2023-12-04 07:24:20 25 4
gpt4 key购买 nike

我想使用已在独立模块的类内部实例化的对象。我试图通过使对象引用全局来做到这一点。我想我想利用当前对象而不是创建一个新对象。

假设我在模块文件中有此代码

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

最佳答案

您必须在类之外声明全局变量。

## 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

关于class - Python 全局对象变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16511321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com