Documentation对于str.swapcase()方法说:


返回将大写字符转换为小写的字符串的副本,反之亦然。注意,s.swapcase()。swapcase()== s不一定是正确的。


我想不出s.swapcase().swapcase() != s的例子,有人能想到吗?

最佳答案

一个简单的例子是:

s = "ß"

print(s.swapcase().swapcase())



输出:

ss



ß is German lowercase double s(正确的大写版本为)。发生这种情况的原因是Python不会“知道”或不想为每个unicode符号定义大写转换。因此,通过将s.swapcase()评估为"SS"可以轻松进行,因此s.swapcase().swapcase()"ss"

10-04 19:18