python的变量

发布时间:2019-08-28 09:07:10编辑:auto阅读(1596)

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

       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的多态

下一篇: Python(2)