Python global variable

I want to use an object that was created inside a class from a standalone module. I am trying to do this by making the object reference global. I think I want to use the current object, and not create a new one.

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

In moduleFile.py I have this code

 def moduleFile_Admin_Menu(): global adminMenu adminMenu.createSubMenu("Module Administration") 

the code in the file.py module gives me the following error.

 NameError: global name 'adminMenu' is not defined 
+6
source share
2 answers

You must declare a global variable outside the class.

 ## Code file something.py import moduleFile adminMenu = None class A(): def checkAdmin(self): global adminMenu adminMenu = SRMadminMenu() 

then moduleFile.py,

 from something import adminMenu def moduleFile_Admin_Menu(): global adminMenu adminMenu.createSubMenu("Module Administration") 

Note. If you do not change the adminMenu variable, you do not need to write global adminMenu

+8
source

i need helppppppppppppppppppppppppppppppppppppppppppppppppp

0
source

Source: https://habr.com/ru/post/1480364/


All Articles