是否可以使用 python 中的函数清空字符串?



是否可以使用 python 中的函数清空字符串?

例如:

otherText="hello"
def foo(text):
text=""
foo(otherText)
print(otherText)

指纹

你好

而不是空字符串。有没有办法在不为其分配返回值或使用全局变量的情况下清空字符串?

这是不可能的。有两个原因

  1. Python 字符串是不可变的

  2. Python实现了所谓的"通过共享调用"评估策略:

    通过共享调用的语义与通过引用调用的不同之处在于,函数内函数参数的赋值对调用方不可见

正如zerkms所指出的,这是不可能的,python不会通过引用传递参数。

有一些技巧可以用作解决方法,例如传递包含字符串的列表或对象。

otherText=["hello"]
def foo(text):
text[0]="Goodbye string"
foo(otherText)
print(otherText) //Goodbye string

最新更新