Variable scope:
Generally, variables defined outside the function become global variables, and variables defined inside the function are called local variables.
Global variables are readable in all scopes, and local variables can only be read in this function.
When the function reads variables, it first reads the local variables of the function itself, and then goes to Read global variables
Global variables
Read, all can be read
Assignment, global
Dictionary, list can be modified
Global variables are all in uppercase letters
For example
name = 'Tim' #全局变量 def f1(): age = 18 #局部变量 print(age,name) def f2(): age=19 #局部变量 print(age,name) f1() f2() >>> 18 Tim 19 Tim
Global variables can also be defined inside a function:
name = 'Tim' #全局变量 def f1(): age = 18 #局部变量 global name #定义全局变量 name = 'Eric' print(age,name) f1() print(name)
Global variables are readable by default and can be changed if needed The value of a global variable needs to be defined using global inside the function
Special: list, dictionary, can be modified, but cannot be reassigned. If reassignment is required, global variables need to be defined using global inside the function
NAME = ['Tim','mike'] #全局变量 NAME1 = ['Eric','Jeson'] #全局变量 NAME3 = ['Tom','jane'] #全局变量 def f1(): NAME.append('Eric') #列表的append方法可改变外部全局变量的值 print('函数内NAME: %s'%NAME) NAME1 = '123' #重新赋值不可改变外部全局变量的值 print('函数内NAME1: %s'%NAME1) global NAME3 #如果需要重新给列表赋值,需要使用global定义全局变量 NAME3 = '123' print('函数内NAME3: %s'%NAME3) f1() print('函数外NAME: %s'%NAME) print('函数外NAME1: %s'%NAME1) print('函数外NAME3: %s'%NAME3) >>> 函数内NAME: ['Tim', 'mike', 'Eric'] 函数内NAME1: 123 函数内NAME3: 123 函数外NAME: ['Tim', 'mike', 'Eric'] 函数外NAME1: ['Eric', 'Jeson'] 函数外NAME3: 123
The above is the detailed content of Scope of python variables. For more information, please follow other related articles on the PHP Chinese website!