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
的引用。