Python之路 day3 全局变量、局部变量


 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*- 
 3 #Author:ersa
 4 
 5 """
 6 全局与局部变量
 7 
 8 在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
 9 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
10 当全局变量与局部变量同名时:
11 在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
12 """
13 school = "tsinghua" #全局变量
14 g_school = "ustc"
15 g_names = ["alex","Jack","ersa"]
16 def change_name(name):
17     school = "beida"    #局部变量 更改不影响全局变量
18     print("local school ", school)
19     print("before change ",name)
20     name += "Ma"
21     print("after change",name)
22     global g_school  # 修改全局变量前需要 使用 global 定义,但一般不建议这么使用
23     print("before change g_school ", g_school)
24 
25     g_school = "beijing ustc"
26     print("after change g_school ", g_school)
27 
28     print("before change g_names ",g_names)
29     g_names[0] = "金角大王" #全局列表、集合、字典在函数中可直接修改
30 
31 name="ersa"
32 change_name(name)
33 print(name)
34 print("external school",school) #全局变量
35 print("after change external g_school ",g_school)
36 print("after change g_names", g_names)
原文地址:https://www.cnblogs.com/iersa/p/6228409.html