我有这样的代码:
>>> def enterText(value):
command = input ("enter text: ")
value = command
>>> def start():
text = ""
enterText(text)
print ("you entered: "+str(text))
我绑了很多东西,但我似乎无法弄清楚。我是 Python 新手,可以帮我通过函数传递字符串吗?谢谢!
我有这样的代码:
>>> def enterText(value):
command = input ("enter text: ")
value = command
>>> def start():
text = ""
enterText(text)
print ("you entered: "+str(text))
我绑了很多东西,但我似乎无法弄清楚。我是 Python 新手,可以帮我通过函数传递字符串吗?谢谢!
Python 中的字符串是不可变的。您需要从中返回字符串,enterText()
以便可以在start()
.
>>> def enterText():
return input("enter text: ")
>>> def start():
text = enterText()
print ("you entered: " + str(text))
不能更改给定的字符串对象。当您调用时enterText(text)
,value
将引用在其中创建的空字符串对象start()
。
分配给value
然后重新绑定变量,即它将名称“值”与分配右侧引用的对象连接起来。对普通变量的赋值不会修改对象。
但是,该text
变量将继续引用空字符串,直到您text
再次分配给。但既然你不这样做,它就行不通。