day1-常量与变量、局部变量与全局变量

一、常量与变量

常量 :以大写字母命名,不轻易修改变量 : 存储--》调用
变量定义的规则:
1. 变量名只能是 字母、数字或下划线的任意组合
2. 变量名的第一个字符不能是数字
3. 以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',
'raise', 'return', 'try', 'while', 'with', 'yield']

二、 局部变量与全局变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用

 1 name = 'alex'
 2 
 3 def change_name(name):
 4     print("before: %s" % name)
 5     name = "Alex"
 6     print(name)
 7 
 8 change_name(name)
 9 print(name)
10 
11 >>> 
12 before: alex
13 Alex
14 alex

函数里使用全局变量需用global声明,不建议在函数里面更改全局变量,逻辑混乱不易调试

字符串、整数、元祖不可以在函数里改全局变量
列表、字典、集合、类可以在函数里改全局变量

posted @ 2017-06-15 00:09  不知所以  阅读(169)  评论(0)    收藏  举报