首页 > 代码库 > python的变量

python的变量

   变量是用来存储值的所在处,变量具有名字以及数据类型两种属性。数据类型决定了内容中不同类型的值的存储结构。变量名用来调用变量。

   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

异常:太多的值需要解包

关于解包的知识在函数传参的内容中会详细讲解

python的变量