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 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'inverse

OriginalL'auteur PrestonDocks | 2013-05-12