Pythonの関数を使って文字列を空にすることはできますか?例えばPythonの関数を使って文字列を空にすることはできますか?
:
otherText="hello"
def foo(text):
text=""
foo(otherText)
print(otherText)
プリント代わりに空の文字列の
こんにちは。戻り値を代入したりグローバル変数を使わずに文字列を空にする方法はありますか?
Pythonの関数を使って文字列を空にすることはできますか?例えばPythonの関数を使って文字列を空にすることはできますか?
:
otherText="hello"
def foo(text):
text=""
foo(otherText)
print(otherText)
プリント代わりに空の文字列の
こんにちは。戻り値を代入したりグローバル変数を使わずに文字列を空にする方法はありますか?
これはできません。その
のための2つの理由Pythonの文字列は
不変であるPythonは、いわゆる"call by sharing" evaluation strategyを実装してあります共有することにより
コールのセマンティクスは、その中で参照することにより、コール異なるへの代入関数内の関数引数は呼び出し側には表示されません。
zerkmsが指摘したように、pythonは厳密には不可能ですが、参照によって引数を渡しません。
文字列を含むリストやオブジェクトを渡すなど、回避策として使用できるトリックがいくつかあります。
otherText=["hello"]
def foo(text):
text[0]="Goodbye string"
foo(otherText)
print(otherText) //Goodbye string