MST

星途 面试题库

面试题:Python中字符串不可变特性在函数参数传递中的体现

在Python中,当将一个字符串作为参数传递给一个函数时,由于字符串的不可变特性,函数内部对该字符串的操作不会影响到原始字符串。请编写一个函数,接收一个字符串参数,在函数内部尝试修改这个字符串,然后分析并解释函数内外字符串的变化情况。
12.7万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def modify_string(s):
    # 尝试在函数内部修改字符串
    s = s + " modified"
    return s

original_string = "Hello"
new_string = modify_string(original_string)

print("原始字符串:", original_string)
print("函数返回的新字符串:", new_string)

在上述代码中:

  1. original_string 定义了原始字符串 "Hello"
  2. modify_string 函数接收一个字符串参数 s,并尝试通过拼接的方式修改它,s = s + " modified" 这行代码创建了一个新的字符串对象并将其赋值给 s,而不是修改传入的原始字符串对象。
  3. 函数返回修改后的字符串 new_string
  4. 输出结果表明,original_string 没有改变,因为字符串是不可变的,函数内部对 s 的操作并没有影响到原始字符串 original_string,而 new_string 是函数内部拼接产生的新字符串。