Python 的自增运算反映了Python变量的原理
2014-02-25 11:20
162 查看
>>> b = 5
>>> a = 5
>>> id(a)
162334512
>>> id(b)
162334512
>>> a is b
True
python 中,变量是以内容为基准而不是以变量名为基准,所以只要数字内容是5,不管你起什么名字,这个变量的 ID 是相同的,同时也就说明了
python 中一个变量可以以多个名称访问;
这样的设计逻辑决定了 python 中数字类型的值是不可变的,因为如果a 和 b 都是 5,当你改变了 a 时,b 也会跟着变;
正确的自增操作应该 a = a + 1 或者 a += 1,当 a 自增后,通过 id() 观察可知,id 值变化了,即 a 已经是新值的名称;
>>> a = 5
>>> id(a)
162334512
>>> id(b)
162334512
>>> a is b
True
python 中,变量是以内容为基准而不是以变量名为基准,所以只要数字内容是5,不管你起什么名字,这个变量的 ID 是相同的,同时也就说明了
python 中一个变量可以以多个名称访问;
这样的设计逻辑决定了 python 中数字类型的值是不可变的,因为如果a 和 b 都是 5,当你改变了 a 时,b 也会跟着变;
正确的自增操作应该 a = a + 1 或者 a += 1,当 a 自增后,通过 id() 观察可知,id 值变化了,即 a 已经是新值的名称;
相关文章推荐
- Python赋值原理:Python无变量,万物皆对象
- 运用异或运算实现两个数不通过中间变量交换值的原理分析
- Python学习笔记-数据类型,运算,变量
- python基础1之python介绍、安装、变量和字符编码、数据类型、输入输出、数据运算、循环
- python中的变量概念及算术运算
- Python变量的原理
- 跟Alex学Python之- 你真的了解Python的变量赋值原理么? 推荐
- 编译原理中的逆波兰表达式(数据流图中运算变量的流程)
- Python 命名空间 及变量搜索规则 属性名称 属性名称 无点号运算的变量名
- Python变量及基本运算
- Python中的浮点数原理与运算分析
- 按位异或运算交换两个变量的值原理
- Python-变量,运算表达式
- python变量及运算
- 黑马程序员——C语言之机器数真值、原反补码、位运算与变量地址获取及输出原理
- python 进制运算 位运算 property的使用 通过property调用私有变量
- 关于十进制数取异或运算原理(Python实现)
- Python2.2-原理之类型和运算
- python 进制运算 位运算 property的使用 通过property调用私有变量
- Python day1:数据结构与变量运算