When we write applications in Python, we sometimes encounter situations where the same global variable is passed between multiple files. So the following article mainly introduces you to the implementation method of cross-file global variables in Python. Friends in need can refer to it. Let’s take a look together. I hope it can help everyone.
In C language, since variables must be declared first and then used, we can clearly know whether the variable being used is global or local, for example:
int a = 5; void test(void) { a = 1; // 没有先声明,所以用的是全局的变量a } void test1(void) { int a; a = 2; // 前面声明了,所以用的是局部变量a,对其所做的修改不会影响全局变量a } void main(void) { printf("before: a = %d\n", a); test(); printf("after test: a = %d\n", a); test1(); printf("after test1: a = %d\n", a); }
In python, variables do not need to be declared first, they can be used directly.
Implementation of cross-file global variables in Python
The global keyword in Python can define a variable as a global variable, but this is limited to one Calling global variables in the module (py file), and using global x again in another py file cannot be accessed, because there is no variable called x in this py module, so an undefined error will be reported.
Drawing on the idea of the global keyword, since it can take effect in a file, then we can just define a "global variable management module" specifically for global variables.
Global variable management module globalvar.py
#!/usr/bin/python # -*- coding: utf-8 -*- def _init(): global _global_dict _global_dict = {} def set_value(name, value): _global_dict[name] = value def get_value(name, defValue=None): try: return _global_dict[name] except KeyError: return defValue
Set global variables a.py
#!/usr/bin/python # -*- coding: utf-8 -*- import sys import globalvar as gl gl._init() gl.set_value('name', 'cc') gl.set_value('score', 90)
Get global variables b.py
#!/usr/bin/python # -*- coding: utf-8 -*- import globalvar as gl name = gl.get_value('name') score = gl.get_value('score') print("%s: %s" % (name, score))
Main program main.py
#!/usr/bin/python # -*- coding: utf-8 -*- import a import b
Then run the main program File python main.py, the result is cc: 90
Related recommendations:
Python implementation of string matching algorithm example code
Analysis of implementation methods of Python extended built-in types
The above is the detailed content of Example analysis of how to implement cross-file global variables in Python. For more information, please follow other related articles on the PHP Chinese website!