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 相关文章推荐
Linux下用Python脚本监控目录变化代码分享
May 21 Python
python读取中文txt文本的方法
Apr 12 Python
Python 解决中文写入Excel时抛异常的问题
May 03 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
python reverse反转部分数组的实例
Dec 13 Python
关于python字符串方法分类详解
Aug 20 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
简单的Python人脸识别系统
Jul 14 Python
python 使用建议与技巧分享(四)
Aug 18 Python
如何使用Python自动生成报表并以邮件发送
Oct 15 Python
Django中session进行权限管理的使用
Jul 09 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
joomla内置的表单验证功能使用方法
2010/06/11 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
javascript第一课
2007/02/27 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
微信小程序解除10个请求并发限制
2018/12/18 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python合并多个装饰器小技巧
2015/04/28 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
python打印异常信息的两种实现方式
2019/12/24 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
欧洲、亚洲、非洲和拉丁美洲的度假套餐:Great Value Vacations
2019/03/30 全球购物
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
初中生自我评价
2014/02/01 职场文书
网络优化专员求职信
2014/05/04 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
投诉信格式范文
2015/07/02 职场文书
2015年大学迎新晚会总结
2015/07/16 职场文书
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript