Python字符串-字符串的不变性
问题内容:
我想知道,如果Python字符串是不可变的,那么这段代码为什么起作用以及如何起作用。
a = input()
for i in a:
if i.isupper():
print(i.lower(), end='')
else:
print(i.upper(), end='')
这将更改字符串中的字符。在我知道字符串是不可变的之前,我曾经将其转换为列表,然后对其进行更改并将其重新连接回字符串。现在,我认为我当时写的所有代码都是毫无用处的。
问题答案:
Python中的字符串是不可变的,这意味着一旦将字符串变量分配给字符串(例如a ='Hello'
),就不能像列表对象一样更改字符串的内容。在上面的代码中,您可以转换字符串而不更改字符串变量的内容。
a=input()
for i in a:
if i.isupper():
print (i.lower(),end='')
else:
print (i.upper(),end='')
print(a)
如果运行此代码,您将看到a的值与您输入的相同。字符串方法lower()和upper()仅返回字符串的副本。