Python变量

作者: Recalcitrant | 来源:发表于2019-05-18 13:43 被阅读0次

    Python代码执行可视化

    http://www.pythontutor.com/

    一、可变类型与不可变类型

    不可变类型:内存中的数据不允许被修改

    数字类型:int, bool, float, complex, long(2.x)
    字符串:str
    元组:tuple

    对于不可变类型的变量,如果要更改变量,则会创建一个新值,把变量绑定到新值上,而旧值如果没有被引用就等待垃圾回收。

    可变类型:内存中的数据可以被修改

    列表:list
    字典:dict
    自定义类型(class定义的类型)

    示例:

    a = 10
    b = a       # 值传递(创建了一个变量b,绑定到了常量10上)
    b = 100     # 将变量b重新绑定到了常量100上(因为常量10不可以被修改)
    print(a)
    
    b = a
    b = 100
    a = [1,2,3,4,5,6,7,8,9,10]
    b = a       # 地址传递(创建了一个变量b,绑定到了列表[1,2,3,4,5,6,7,8,9,10]上)
    b[1] = 10   # 将变量b绑定的列表第二个元素值修改为10(因为列表可以被修改)
    print(a)
    
    b = a
    b[1] = 10
    运行结果

    二、== 和 is

    == 运算符:比较两个对象的值(对象中保存的数据)
    is 运算符:比较对象的引用(标识)

    通常,我们关注的是值,而不是标识,因此 Python 代码中 == 出现的频率比 is 高。
    示例:

    a = [1,2,3,4,5,6,7,8,9,10]
    b = [1,2,3,4,5,6,7,8,9,10]
    print(a == b)
    print(a is b)
    
    运行结果

    相关文章

      网友评论

        本文标题:Python变量

        本文链接:https://www.haomeiwen.com/subject/hiftzqtx.html