Home  >  Article  >  Backend Development  >  Example analysis of how to implement cross-file global variables in Python

Example analysis of how to implement cross-file global variables in Python

小云云
小云云Original
2017-12-12 09:13:582660browse

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:

Completely master Python

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn