


How to use global variables in Python where global variables are not created
In Python, when a variable is referenced, the search for the variable is based on local scope (Local), nested scope (Enclosing function locals), and global scope. It is carried out in the order of domain (Global) and built-in scope (builtins module), which is the so-called LEGB rule. That is, the order in which python refers to variables: current scope local variables -> outer scope variables -> global variables in the current module -> python built-in variables.
However, when assigning a value to a variable inside a function, it does not follow the LEGB rules mentioned above to first find the variable and then assign a value to the variable. In Python, when assigning a value to a variable in a function, there is the following rule: "When assigning a value to a variable name in a function (rather than referencing it in an expression), Python always creates or changes The variable name of the local scope, unless it has been declared as a global variable in that function. ”
golbal global variables and nonlocal local variables in python
global key Words are used to use global variables in functions or other local scopes.
gcount = 0 #定义了一个全局变量,(可以省略global关键字) def global_test(): print (gcount) #不修改,只是引用全局变量,不使用global关键字 def global_counter(): global gcount gcount +=1 #修改全局变量,需要使用global关键字 return gcount
Output
1
2
3
nonlocal keyword is used in Use outer (non-global) variables in functions or other scopes.
def make_counter(): count = 0 #定义一个局部变量,该局部变量作用范围在make_counter()方法内 def counter(): nonlocal count #在方法counter()中使用外层局部变量 count count += 1 return count return counter def make_counter_test(): mc = make_counter() print(mc()) print(mc()) print(mc()) make_counter_test()
Output
3
The above is the detailed content of How to use global variables in Python where global variables are not created. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

The article discusses popular Python libraries like NumPy, Pandas, Matplotlib, Scikit-learn, TensorFlow, Django, Flask, and Requests, detailing their uses in scientific computing, data analysis, visualization, machine learning, web development, and H

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...

Using python in Linux terminal...
