在istitle()
字符串方法中,Python 2.6.5手册内容为:
如果字符串是一个带有标题的字符串并且至少有一个字符,则返回true,例如,大写字符可能只跟随无字符的字符,而小写字符只能跟随字符。否则返回false。
但在这种情况下,它返回false:
>>> book = 'what every programmer must know'
>>> book.title()
'What Every Programmer Must Know'
>>> book.istitle()
False
我错过了什么?
答案 0 :(得分:8)
book.title()
不会更改变量book
。它只返回标题中的字符串。
>>> book.title()
'What Every Programmer Must Know'
>>> book # still not in title case
'what every programmer must know'
>>> book.istitle() # hence it returns False.
False
>>> book.title().istitle() # returns True as expected
True
答案 1 :(得分:7)
方法title()不会改变字符串(字符串在Python中是不可变的)。它会创建一个必须分配给变量的新字符串:
>>> book = 'what every programmer must know'
>>> book = book.title()
>>> book.istitle()
True
答案 2 :(得分:3)
可能是因为你还在原书上叫istitle()。
尝试book.title()。istitle()而不是......
答案 3 :(得分:1)
执行以下操作:
print book
执行book.title()
之后。您会看到book
未发生变化。
原因是book.title()
创建了一个新字符串。名称book
仍然引用原始字符串。