如果字符串显然是title-case,为什么istitle()字符串方法返回false?

sys*_*ich 3 python string

istitle()字符串方法中,Python 2.6.5手册内容如下:

如果字符串是一个带有标题的字符串并且至少有一个字符,则返回true,例如,大写字符可能只跟随无框字符,而小写字符只能跟随字符.否则返回false.

但在这种情况下,它返回false:

>>> book = 'what every programmer must know'
>>> book.title()
'What Every Programmer Must Know'
>>> book.istitle()
False
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

ken*_*ytm 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
Run Code Online (Sandbox Code Playgroud)


Mar*_*ers 7

方法title()不会改变字符串(字符串在Python中是不可变的).它会创建一个必须分配给变量的新字符串:

>>> book = 'what every programmer must know'
>>> book = book.title()
>>> book.istitle()
True
Run Code Online (Sandbox Code Playgroud)