Python变量

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简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,875评论 0 10
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,242评论 6 13
  • 1.变量 1.1声明变量(定义变量) 变量就是在程序中用来保存数据的容器 在python中是个假的声明,语法:变量...
    2333_11f6阅读 314评论 0 0
  • php中 •incluce在用到时加载 •require在一开始就加载 •_once后缀表示已加载的不加载
    怪诞史努比阅读 238评论 0 0
  • 农历正月十二 星期六 1、日媒:日本大米出口10年增至10倍, 今后关键在中国; 2、美国农业部承认:大豆出口可...
    石竹阅读 355评论 0 2