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
可见,全局变量也是可以被引用后改变的,并以最后一次改变的值作为最终的值
原文:https://www.cnblogs.com/yaoze2018/p/10739239.html