字符串是 ,这意味着您不能。您当然可以构造一个新字符串,它是对旧字符串的一些修改。但是您因此不能s
在代码中更改对象。
解决方法可能是 :
class Container:
def __init__(self,data):
self.data = data
然后popstring
给容器一个容器,检查容器,然后在容器中放入其他东西:
def popstring(container):
container.data = container.data[:-1]
s1 = Container('abcd')
popstring(s1)
再说一遍:您没有更改字符串对象本身,只是将新字符串放入了容器中。
您无法在Python中通过引用 执行 调用 ,因此无法调用函数:
foo(x)
然后更改变量x
:x
复制了的引用,因此您不能更改变量x
本身。