PYTHON:更改整型变量的值而不重新创建变量
我想知道是否有一种方法可以编辑整型变量的值,而不是创建一个新的值来替换以前的值。代码应该大致如下所示:PYTHON:更改整型变量的值而不重新创建变量,python,Python,我想知道是否有一种方法可以编辑整型变量的值,而不是创建一个新的值来替换以前的值。代码应该大致如下所示: >>> myInt = 1 >>> print myInt 1 >>> myInt.setattr (2) >>> print myInt 2 myInt计为一个变量。所以实际上: myInt = 2 更改变量的值,但不更改变量本身 从 在计算机编程中,变量或标量是与相关符号名(标识符)配对的存储位置,其中包
>>> myInt = 1
>>> print myInt
1
>>> myInt.setattr (2)
>>> print myInt
2
myInt
计为一个变量。所以实际上:
myInt = 2
更改变量的值,但不更改变量本身
从
在计算机编程中,变量或标量是与相关符号名(标识符)配对的存储位置,其中包含一些已知或未知的量或信息,称为值
因此,赋值是更改变量值所需的操作
class FakeMutableInt(object):
def __init__(self, val):
self.__val = val
def setval(self, newval):
self.__val = newval
def __add__(self, other):
return self.__val + other
def __sub__(self, other):
return self.__val - other
# etc
当然,这是毫无意义的,但它将允许您:
>>> myInt = FakeMutableInt(3)
>>> myInt.setval(5)
我不知道你为什么要这么做。myInt是一个变量,可以通过一个新的值进行调整。在python中使用“=”时,实际上是告诉python在内存中找到指向变量“myInt”的插槽,并将其设置为“=”后面的任何值。这就是大多数程序员更改变量值的方式。请记住,赋值不会创建新变量。它只是重新分配该内存位置中的值 此外,Python与其他语言的不同之处在于,您不必显式声明数据类型。然而,在C/C++和Java中,如果要创建int类型的新变量,则需要执行以下操作: int x=6 这将声明一个int类型的变量,并将该变量初始化为值6
在Python中,这是不必要的。
myInt
是一个标签。你不能改变标签,只能改变它挂在什么上面。可以在对象上挂起多个标签:
a = 9
b = 9
c = 9
只有一个9
对象和三个标签,a
、b
和c
。您不能更改9
,也不能更改a
。您可以更改挂起的a
:
a = 6
int是不可变的,因此您总是在创建一个新对象,为什么不执行
myInt=2
?我执行myInt=2
,但有时我会“编辑”变量,而不是替换它。例如,如果我们可以编辑一个变量,我们可以从一个函数中进行编辑。但是我们可以,所以我不需要^^^具体来说,Python中变量的“值”是对对象的引用。赋值myInt=2
将myInt
的值从对对象1
的引用更改为对对象2
的引用。