0

我有这样的代码:

>>> def enterText(value):
    command = input ("enter text: ")
    value = command

>>> def start():
    text = ""
    enterText(text)
    print ("you entered: "+str(text))

我绑了很多东西,但我似乎无法弄清楚。我是 Python 新手,可以帮我通过函数传递字符串吗?谢谢!

4

1 回答 1

4

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再次分配给。但既然你不这样做,它就行不通。

于 2013-01-15T00:47:57.203 回答