Python 可爱的大小写


Posted in Python onSeptember 06, 2008

函数较简单,看下面的例子:

s = 'hEllo pYthon' 
print s.upper() 
print s.lower() 
print s.capitalize() 
print s.title()

输出结果:
HELLO PYTHON
hello python
Hello python
Hello Python

判断大小写
Python提供了isupper(),islower(),istitle()方法用来判断字符串的大小写。注意的是:
1. 没有提供 iscapitalize()方法,下面我们会自己实现,至于为什么Python没有为我们实现,就不得而知了。
2. 如果对空字符串使用isupper(),islower(),istitle(),返回的结果都为False。

print 'A'.isupper() #True 
print 'A'.islower() #False 
print 'Python Is So Good'.istitle() #True 
#print 'Dont do that!'.iscapitalize() #错误,不存在iscapitalize()方法

实现iscapitalize
1. 如果我们只是简单比较原字符串与进行了capitallize()转换的字符串的话,如果我们传入的原字符串为空字符串的话,返回结果会为True,这不符合我们上面提到的第2点。
def iscapitalized(s):
return s == s.capitalize( )有人想到返回时加入条件,判断len(s)>0,其实这样是有问题的,因为当我们调用iscapitalize('123')时,返回的是True,不是我们预期的结果。
2. 因此,我们回忆起了之前的translate方法,去判断字符串是否包含任何英文字母。实现如下:

import string 
notrans = string.maketrans('', '') 
def containsAny(str, strset): 
return len(strset) != len(strset.translate(notrans, str)) 
def iscapitalized(s): 
return s == s.capitalize( ) and containsAny(s, string.letters) 
#return s == s.capitalize( ) and len(s) > 0 #如果s为数字组成的字符串,这个方法将行不通调用一下试试: 
print iscapitalized('123') 
print iscapitalized('') 
print iscapitalized('Evergreen is zcr1985')

输出结果:
False
False
True
Python 相关文章推荐
浅谈Python的文件类型
May 30 Python
详解python3实现的web端json通信协议
Dec 29 Python
Python处理PDF及生成多层PDF实例代码
Apr 24 Python
Python设计实现的计算器功能完整实例
Aug 18 Python
Python实现的寻找前5个默尼森数算法示例
Mar 25 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
Apr 24 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
Python读取JSON数据操作实例解析
May 18 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
Jan 21 Python
Python实现双向链表基本操作
May 25 Python
Python 除法小技巧
Sep 06 #Python
Python translator使用实例
Sep 06 #Python
Python 字符串中的字符倒转
Sep 06 #Python
Python  连接字符串(join %)
Sep 06 #Python
Python strip lstrip rstrip使用方法
Sep 06 #Python
Python ljust rjust center输出
Sep 06 #Python
Python isinstance判断对象类型
Sep 06 #Python
You might like
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
php实现的xml操作类
2016/01/15 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
在javascript中关于节点内容加强
2013/04/11 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
vue选项卡切换登录方式小案例
2019/09/27 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python脚本实现统计日志文件中的ip访问次数代码分享
2014/08/06 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
Python的in,is和id函数代码实例
2020/04/18 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
德国家具折扣店:POCO
2020/02/28 全球购物
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
C#面试题问题集
2016/04/02 面试题
表扬信格式
2014/01/12 职场文书
档案检查欢迎词
2014/01/13 职场文书
会计员岗位职责
2014/03/15 职场文书
购房协议书范本
2014/04/11 职场文书
好书伴我成长演讲稿
2014/05/14 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
个人政治思想总结
2015/03/05 职场文书
企业法人代表证明书
2015/06/18 职场文书