全局变量和局部变量

 

 

 1 #     有同名局部变量,优先使用局部变量
 2 age = 18
 3 def nianling():
 4     age = 200
 5     print("新age是:",age)
 6 nianling()
 7 print("全局变量的age是:",age)
 8 
 9 
10 #     无同名的局部变量,对于全局变量是可变类型的,可以对全局变量内部进行修改
11 name = ["","",""]
12 def mingzi():
13     name.append("")
14     print("新name是:",name)
15 mingzi()
16 print("全局变量的name是:",name)
17 
18 #     有global关键字,无同名的局部变量
19 hobby = ["game","football"]
20 def aihao():
21     global hobby
22     hobby = ["basketball"]
23     hobby.append("haha")
24     print("新hobby是:",hobby)
25 aihao()
26 print("全局变量的hobby是:",hobby)

以上3个函数的运行结果是:

新age是: 200
全局变量的age是: 18


新name是: ['赵', '钱', '孙', '李']
全局变量的name是: ['赵', '钱', '孙', '李']


新hobby是: ['basketball', 'haha']
全局变量的hobby是: ['basketball', 'haha']

1 #     以下为错误实例:因为有两个gender,所以会报错。如果以后声明全局变量,下面还会有其他操作,要把golbal往前提
2 gender = ["men","women"]
3 def xingbie():
4     gender = ["",""]
5     global gender
6     print(gender)
7 gender()

为了避免上面的事情发生,命名规则上,全局变量都是大写,局部变量都是小写。这样就不会出现这种情况了

 

posted @ 2018-11-15 17:33  星空下的螃蟹  阅读(106)  评论(0编辑  收藏  举报