首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果字符串显然是title-case,那么istitle() string方法为什么返回false?

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

Stack Overflow用户
提问于 2010-07-27 13:40:00
回答 3查看 1.4K关注 0票数 3

istitle()字符串方法中,Python2.6.5手册读取:

如果字符串是以标题为标题的字符串,并且至少有一个字符,则

返回true,例如,大写字符只能跟随未大写字符,小写字符只能大写字符。否则返回错误。

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

代码语言:javascript
复制
>>> book = 'what every programmer must know'
>>> book.title()
'What Every Programmer Must Know'
>>> book.istitle()
False

我遗漏了什么?

EN

回答 3

Stack Overflow用户

发布于 2010-07-27 13:42:29

book.title()不更改变量book。它只返回标题大小写中的字符串。

代码语言:javascript
复制
>>> 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
票数 8
EN

Stack Overflow用户

发布于 2010-07-27 13:42:07

可能是因为您仍在调用原始书上的istitle()。

尝试book.title().istitle()代替..。

票数 3
EN

Stack Overflow用户

发布于 2010-07-27 13:43:13

做以下工作:

代码语言:javascript
复制
print book

在你做book.title()之后。您将看到book并没有改变。

原因是book.title()创建了一个新字符串。名称book仍然引用原始字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3344218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档