美文网首页
Python 自增和语言的设计原理

Python 自增和语言的设计原理

作者: RoyTien | 来源:发表于2019-04-01 23:53 被阅读0次

Python3 运算符 - 笔记列表

python 没有自增运算符,自增操作是如何实现的。关于自增操作,python 不使用 ++ 的哲学逻辑。

在脚本式编程环境中

>>> b = 5  
>>> a = 5  
>>> id(a)  
162334512  
>>> id(b)  
162334512  
>>> a is b  
True  

python 中,变量是以内容为基准而不是像 c 中以变量名为基准,所以只要你的数字内容是5,不管你起什么名字,这个变量的 ID 是相同的,同时也就说明了 python 中一个变量可以以多个名称访问。

这样的设计逻辑决定了 python 中数字类型的值是不可变的,因为如果如上例,a 和 b 都是 5,当你改变了 a 时,b 也会跟着变,这当然不是我们希望的。

因此,正确的自增操作应该 a = a + 1 或者 a += 1,当此 a 自增后,通过 id() 观察可知,id 值变化了,即 a 已经是新值的名称。

在交互式环境中

在交互式环境中,编译器会有一个小整数池的概念,会把(-5,256)间的数预先创建好,而当a和b超过这个范围的时候,两个变量就会指向不同的对象了,因此地址也会不一样,比如下例:

>>> a=1000
>>> b=1000
>>> id(a);id(b)
2236612366224
2236617350384
>>>

相关文章

  • Python 自增和语言的设计原理

    Python3 运算符 - 笔记列表 python 没有自增运算符,自增操作是如何实现的。关于自增操作,pytho...

  • Java i++ 和 ++i原理

    i++ 和 ++i原理 i++ 即后加加,原理是:先自增,然后返回自增之前的值++i 即前加加,原理是:先自增,然...

  • (3)分布式ID之数据库自增ID实现分布式ID

    数据库自增ID机制原理介绍 在分布式里面,数据库的自增ID机制的主要原理是:数据库自增ID和mysql数据库的re...

  • 自增运算符

    Java 自增原理

  • Python是一门编程语言

    Python介绍 Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自...

  • Python:IDE-PyCharm安装!

    Python安装-2 Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自...

  • Python中关于++和—(自增和自减)的理解

    Python中关于++和—(自增和自减)的理解 python中的数字类型是不可变数据。也就是数字类型数据在 内存 ...

  • JavaScript自增自减

    相信大家一定被自增自减困扰了许久,那么今天就来彻底弄清楚自增与自减的原理 自增++可以使变量在自身的基础上增加1 ...

  • Go语言运算符

    运算符 自增与自减 注意:GO语言中没有前自增,这是与其它编程语言不同的地方。 计算平均分 程序优化减少内存占用 ...

  • 6.关于python执行原理

    一.python执行原理和java执行原理有何区别?Java 是编译型和解释型语言的结合体 其中.class 字节...

网友评论

      本文标题:Python 自增和语言的设计原理

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