Python 字符串切片:原字符串是否改变?
在 Python 中,字符串是不可变的(immutable)对象,这意味着一旦创建后,其内容就不能被修改。当你执行字符串切片操作时,会生成一个新的字符串对象,而原始的字符串对象并不会被修改。
下面是一个示例代码来说明这一点:
s = 'Hello, World!'
s_slice = s[7:12]
print(s) # 输出: Hello, World!
print(s_slice) # 输出: World!
在示例中,我们首先定义了一个字符串s,然后对其进行切片操作[7:12],生成了一个新的字符串对象s_slice。尽管s_slice的值是从s中切片提取的,但原始的字符串s保持不变。
需要注意的是,如果你在切片的过程中使用了完整的切片范围(例如[:]),那么会生成一个完整拷贝的字符串对象。例如:
s = 'Hello, World!'
s_copy = s[:]
print(s) # 输出: Hello, World!
print(s_copy) # 输出: Hello, World!
在这个示例中,s_copy是对原始字符串s的完整拷贝。无论你对s_copy做任何修改,都不会影响原始的字符串s。
原文地址: https://www.cveoy.top/t/topic/i45 著作权归作者所有。请勿转载和采集!