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 解析XML文件
Apr 15 Python
Python运行的17个时新手常见错误小结
Aug 07 Python
python+mysql实现简单的web程序
Sep 11 Python
Python全局变量操作详解
Apr 14 Python
浅析python实现scrapy定时执行爬虫
Mar 04 Python
Python2中文处理纪要的实现方法
Mar 10 Python
Python中存取文件的4种不同操作
Jul 02 Python
学习Python列表的基础知识汇总
Mar 10 Python
Python环境下安装PyGame和PyOpenGL的方法
Mar 25 Python
django创建css文件夹的具体方法
Jul 31 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 Python
Python一些基本的图像操作和处理总结
Jun 23 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
使用eAccelerator加密PHP程序
2008/10/03 PHP
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
PHP使用array_fill定义多维数组的方法
2015/03/18 PHP
PHP简单实现生成txt文件到指定目录的方法
2016/04/25 PHP
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
jquery禁用右键示例
2014/04/28 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
遍历json获得数据的几种方法小结
2017/01/21 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
Python将xml和xsl转换为html的方法
2015/03/10 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
Python通过format函数格式化显示值
2020/10/17 Python
Delphi软件工程师试题
2013/01/29 面试题
高校教师自荐信范文
2014/03/13 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
确保工程质量承诺书
2015/04/29 职场文书
请客吃饭开场白
2015/06/01 职场文书
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python