我知道对于某些人来说这可能是一个愚蠢的问题,但这对我来说是一个困惑。在不分配变量的情况下如何工作以及如何使用更新后的值。

此代码打印排序列表

Python代码

data=[23,11,32,89,52,99]
data.sort()
print(data)
分析解答

它的工作方式与此代码相同:

class Thing:
    def __init__(self, value):
        self.value = value
    def modify(self):
        self.value += 1

data = Thing(5)
print(data.value)  # prints '5'

data.modify()
print(data.value)  # prints '6'

基本上,它修改对象的内部状态。列表对象将其值存储在内存的某个区域中(即,某些内部变量中),并且sort方法将这种内部变量弄乱,从而对列表的值进行排序。