变量是用来存储值的所在处,变量具有名字以及数据类型两种属性。数据类型决定了内容中不同类型的值的存储结构。变量名用来调用变量。
Python 是动态类型语言,所以说不需要预先声明变量类型就可以直接使用。变量的类型和值是在赋值时决定的。
一、变量的命名规范
1、只能使用大、小写字母或者下划线开头;
2、除开头部分外,可以是大、小写字母、数字或者下划线的随意组合;
3、不能占用python关键字;
4、变量名严格区分大小写。
查看python关键字:
import keyword keyword.kwlist() [‘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、一般情况不以下划线开头
以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
2、不能与内置函数或者模块重名,这样虽然不会报错,但是会使原有的函数失去意义。
例如:
把sum作为变量名,而sum是python内置的求和函数。
list1=[1,2,3,4,5] sum(list1) 15 sum=1 sum(list1) Traceback (most recent call last): Python Shell, prompt 107, line 1 TypeError: ‘int‘ object is not callable
当我把sum赋值为1后,在用sum求list1的和,就会引发异常,因为此时sum是1了,而不再是一个函数
三、变量的赋值
1、普通赋值
变量通过等号来赋值
count=10
2、自增赋值
count = count + 1
也可以写成
count += 1
3、多元赋值
x,y,z=1,2,3 print x,y,z 1 2 3
此时的1,2,3实际上是个无关闭分割符的元组,等于(1,2,3)
当变量名多于变量值时:
x,y=12 Traceback (most recent call last): Python Shell, prompt 110, line 1 TypeError: ‘int‘ object is not iterable
异常:int不是可迭代对象
然后将int换成str
x,y="12" print x,y 1 2
当可迭代的值也小于变量名时: x,y="1" Traceback (most recent call last): Python Shell, prompt 118, line 1 ValueError: need more than 1 value to unpack
异常:需要多于一个值去解包
当变量名少于变量值时:
x,y=1,2,3 Traceback (most recent call last): Python Shell, prompt 116, line 1 ValueError: too many values to unpack x,y="123" Traceback (most recent call last): Python Shell, prompt 117, line 1 ValueError: too many values to unpack
异常:太多的值需要解包
关于解包的知识在函数传参的内容中会详细讲解