如果字符串是不可变的,为什么这行得通?

时间:2019-12-17 02:19:56

标签: python string

对于此代码(python):

name = input("please enter your name")

introStatement = "please take a seat"

if name != "":

    introStatement = (name) + " please take a seat"

print(introStatement) 

我期待一个TypeError,但是程序能够打印给定的名称和intro语句,我认为字符串是不可变的,因此我们无法做到这一点。

任何解释将不胜感激, 谢谢

1 个答案:

答案 0 :(得分:0)

之所以发生这种情况,是因为您没有修改名称或原始的introStatement。

Python的幕后工作方式是(创建)一个新的“数组”,并将“名称”和“请坐”复制到新数组中。因此,原始字符串不会被修改,而是会创建一个新的字符串。