Python objet global variable
Je veux faire une utilisation sur un objet qui a été instantinated à l'intérieur d'une classe à partir d'un module autonome. Je suis en train de le faire en makeing la référence de l'objet global. Je crois que j'ai envie de faire usage de l'objet courant et de ne pas en créer un nouveau.
Assumer, j'ai ce code dans un fichier de module
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####
Dans moduleFile.py j'ai ce code
def moduleFile_Admin_Menu():
global adminMenu
adminMenu.createSubMenu("Module Administration")
le code dans moduleFile.py me donne l'erreur suivante.
NameError: global name 'adminMenu' is not defined
devrait
Désolé, j'ai corrigé la faute de frappe. adminMenu déclarée dans checkAdmin() dans la classe.
vous êtes marquage mondiale comme
OK, j'ai déclaré adminMenu=Aucun, mais j'obtiens toujours la même erreur lorsque j'essaie d'importer moduleFile et appel moduleFile_Admin_Menu() - NameError: nom global de "adminMenu" n'est pas défini
Une chose que vous pourriez avoir à déclarer dans
Import
pas être import
?, aussi, où est adminMenu
déclaré?Désolé, j'ai corrigé la faute de frappe. adminMenu déclarée dans checkAdmin() dans la classe.
vous êtes marquage mondiale comme
global adminMenu
. Vous devez déclarer quelque part. Exemple, adminMenu=None
ou quelque chose. exemple - juste en dessous de import moduleFile
OK, j'ai déclaré adminMenu=Aucun, mais j'obtiens toujours la même erreur lorsque j'essaie d'importer moduleFile et appel moduleFile_Admin_Menu() - NameError: nom global de "adminMenu" n'est pas défini
Une chose que vous pourriez avoir à déclarer dans
moduleFile.py
et pas l'inverseOriginalL'auteur PrestonDocks | 2013-05-12
Vous devez vous connecter pour publier un commentaire.
Vous devez déclarer une variable globale à l'extérieur de la classe.
alors moduleFile.py,
Remarque: Si vous ne changerez pas adminMenu variable, vous n'avez pas à écrire
global adminMenu
OriginalL'auteur cengizkrbck