Python 使用递增和递减运算符 您所在的位置:网站首页 递加的拼音怎么写 Python 使用递增和递减运算符

Python 使用递增和递减运算符

2024-07-13 06:49| 来源: 网络整理| 查看: 265

Python 使用递增和递减运算符

Python 没有一元的递增/递减运算符(++/–)。取而代之的是,要增加一个值,请使用

a += 1

要递减一个值,使用−

a -= 1 示例 >>> a = 0 >>> >>> #Increment >>> a +=1 >>> >>> #Decrement >>> a -= 1 >>> >>> #value of a >>> a 0

Python不提供多种方式来完成同样的事情。

然而,如果你从像C语言这样的语言过度到Python,一定要小心,Python没有C语言中那种“变量”的概念,而是使用名字和对象来表示变量,而在Python中,整数(int)是不可变的。

我们通过一个例子来理解一下:

>>> a =1 >>> print(id(a)) 1919375088 >>> print(hex(id(a))) 0x726756f0

所以在Python中,上述语句的意思是:创建一个类型为int的对象,它的值为1,并将其命名为a。这个对象是一个值为1的int的实例,命名为a引用它。分配的名字a和它所引用的对象是不同的。 现在让我们增加a。

>>> a +=1 >>> print(id(a)) 1919375104 >>> print(hex(id(a))) 0x72675700

由于int是不可变的,因此Python将以上语句理解为

查找a所引用的对象(它是一个int,id为0x726756f0)

查找对象0x726756f0的值(它是1)。

将该值加上1(1 + 1 = 2)

创建一个新的int对象,其值为2(对象的id是0x72675700)。

将名称重新绑定到此新对象(0x72675700)

现在,a引用对象0x72675700,之前的对象(0x726756f0)不再由名称a引用。如果没有其他名称引用原始对象,它将在稍后被垃圾回收。

因此,根据以上的解释,可以理解当我们执行: a += 1

这会将a重新赋值为 a+1 。这不是一个递增操作符,因为它不是增加a的值,而是重新赋值。

让我们通过更多的例子来理解上述递增/递减操作−

>>> a = b = c =1 >>> id(a) 1919375088 >>> id(b) 1919375088 >>> id(c) 1919375088 >>> #Above all have the same id >>> >>> # Now increment a >>> a +=1 >>> id(a) 1919375104 >>> id(b) 1919375088 >>> id(c) 1919375088

从上面你可以理解,我们有一个单一对象,a、b和c都指向它(一个具有id 1919375088的int型变量)。

在增加a的值后,现在a被重新赋值为 a+1 (id: 1919375104),而其他的 b 和 c 仍指向同一个对象(1919375088)。

此外,Python并没有++/–运算符。

>>> a =1 >>> ++a 1 >>> --a 1


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有