1 >.变量可以由字母,数字或者下划线任意组合而成,唯一的约束是变量的第一个字符必须是字母或者下划线,而不可以是数字
2>.python与其他编程语言最大的区别就是赋值不需要类型声明,而且变量可以存储任何值
3>.变量不仅可以赋值各种类型,而且还可以随意改变类型
4>.局部变量只能对一部分代码产生作用,一旦这部分代码结束,这个变量就会被回收.
1 def aoe(): 2 a = 1 3 if __name__ == "__main__": 4 aoe() 5 print(a) 6 7 #运行结果: 8 File "D:/PycharmProjects/MyScripts/python.py", line 5, in <module> 9 print(a) 10 NameError: name 'a' is not defined
代码说明:
1.定义一个aoe函数
2.将变量a赋值为1
3.主函数调用
4.调用aoe函数
5.打印变量a
报错原因:因为第四行执行完aoe函数后变量a就被收回收了,第五行代码执行时发现不存在a这个变量,所以报错.修改代码如下,不再报错:
1 def aoe(): 2 a = 1 3 print(a) 4 if __name__ == "__main__": 5 aoe() 6 #运行结果 7 1
5>.全局变量一般定义在文件的开头,不能放在某个函数之中.全局变量可以被外部文件或者文件内部其他函数调用.但调用时需要通过一个global+变量的方式才能引用全局变量
1 a = 1 2 def aoe(): 3 global a 4 print(a) 5 if __name__ == "__main__": 6 aoe() 7 print(a) 8 #运行结果 9 1 10 1
6>全局变量可以被函数所改变.实例代码如下
1 a = 1 2 def aoe(): 3 global a 4 a = 2 5 print(a) 6 if __name__ == "__main__": 7 aoe() 8 print(a) 9 #运行结果 10 2 11 2