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

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

Dec 12, 2017 am 09:13 AM
python variable Case Analysis

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); 
}
Copy after login

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
Copy after login

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)
Copy after login

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))
Copy after login

Main program main.py

#!/usr/bin/python
# -*- coding: utf-8 -*-
import a
import b
Copy after login

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 of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to efficiently integrate Node.js or Python services under LAMP architecture? How to efficiently integrate Node.js or Python services under LAMP architecture? Apr 01, 2025 pm 02:48 PM

Many website developers face the problem of integrating Node.js or Python services under the LAMP architecture: the existing LAMP (Linux Apache MySQL PHP) architecture website needs...

How to efficiently parse multi-layer nested brackets in LaTeX formulas and convert them into multi-dimensional dictionary? How to efficiently parse multi-layer nested brackets in LaTeX formulas and convert them into multi-dimensional dictionary? Apr 01, 2025 am 08:57 AM

Python parses LaTeX multi-layer brackets: build multi-dimensional dictionary many LaTeX...

How to generate non-repetitive permutation combinations based on character set and number of layers, and exclude all characters of the same combinations? How to generate non-repetitive permutation combinations based on character set and number of layers, and exclude all characters of the same combinations? Apr 01, 2025 am 06:57 AM

Generate permutation combination based on character set and layer number. This article will explore how to generate corresponding permutation combination results based on a given character set and layer number to avoid duplication...

What is the reason why pipeline persistent storage files cannot be written when using Scapy crawler? What is the reason why pipeline persistent storage files cannot be written when using Scapy crawler? Apr 01, 2025 pm 04:03 PM

When using Scapy crawler, the reason why pipeline persistent storage files cannot be written? Discussion When learning to use Scapy crawler for data crawler, you often encounter a...

Python Cross-platform Desktop Application Development: Which GUI Library is the best for you? Python Cross-platform Desktop Application Development: Which GUI Library is the best for you? Apr 01, 2025 pm 05:24 PM

Choice of Python Cross-platform desktop application development library Many Python developers want to develop desktop applications that can run on both Windows and Linux systems...

What is the reason why the Python process pool handles concurrent TCP requests and causes the client to get stuck? What is the reason why the Python process pool handles concurrent TCP requests and causes the client to get stuck? Apr 01, 2025 pm 04:09 PM

Python process pool handles concurrent TCP requests that cause client to get stuck. When using Python for network programming, it is crucial to efficiently handle concurrent TCP requests. ...

How to view the original functions encapsulated internally by Python functools.partial object? How to view the original functions encapsulated internally by Python functools.partial object? Apr 01, 2025 pm 04:15 PM

Deeply explore the viewing method of Python functools.partial object in functools.partial using Python...

Python hourglass graph drawing: How to avoid variable undefined errors? Python hourglass graph drawing: How to avoid variable undefined errors? Apr 01, 2025 pm 06:27 PM

Getting started with Python: Hourglass Graphic Drawing and Input Verification This article will solve the variable definition problem encountered by a Python novice in the hourglass Graphic Drawing Program. Code...

See all articles