局部变量与全局变量

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:James Tao
 4 
 5 #全局变量:在第一层、程序一开始定义的变量称为全局变量,作用域:整个程序
 6 school='ABC'
 7 
 8 #局部变量:在子程序定义的变量称为局部变量,作用域:定义该变量的子程序
 9 def change_name(name):
10     global school#在函数里更改全局变量,尽量少用
11     school='DEF'
12     print('before change',name,school)
13     name='tao'#name只在函数里生效,只有数字、字符串在局部中不能改全局
14     print('after change',name,school)
15 
16 name='James'
17 change_name(name)
18 print(name)#当全局变量与局部变量重名时,在定义该局部变量的子程序内局部变量起作用,其他地方全局变量起作用
19 print(school)
20 
21 #除了数字和字符串之外,列表、字典、集合、类都可以在局部改全局
22 names=['Jmaes','Kobe','Jordan']
23 def change_list():
24     names[0]='Tao'
25     print(names)
26 change_list()
27 print(names)

结果:

原文地址:https://www.cnblogs.com/BIT-taozhen/p/9783488.html