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 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
Python3遍历目录树实现方法
May 22 Python
python批量修改图片大小的方法
Jul 24 Python
django进阶之cookie和session的使用示例
Aug 17 Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 Python
Django 配置多站点多域名的实现步骤
May 17 Python
使用Python爬取弹出窗口信息的实例
Mar 14 Python
使用Django搭建网站实现商品分页功能
May 22 Python
matplotlib.pyplot.matshow 矩阵可视化实例
Jun 16 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 Python
python中pyqtgraph知识点总结
Jan 26 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
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
PHP定时更新程序设计思路分享
2014/06/10 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
[IE&FireFox兼容]JS对select操作
2007/01/07 Javascript
jQuery 性能优化指南(3)
2009/05/21 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
onbeforeunload与onunload事件异同点总结
2013/06/24 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
jQuery实现灰蓝风格标准二级下拉菜单效果代码
2015/08/31 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
python 实现文件的递归拷贝实现代码
2012/08/02 Python
django 自定义用户user模型的三种方法
2014/11/18 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
python机器人运动范围问题的解答
2019/04/29 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
安装PyInstaller失败问题解决
2019/12/14 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
欧克利英国官网:Oakley英国
2019/08/24 全球购物
旅游管理毕业生自荐书
2014/02/02 职场文书
总裁助理岗位职责
2014/02/17 职场文书
财政局长个人总结
2015/03/04 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
浅谈怎么给Python添加类型标注
2021/06/08 Python
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL
Mysql 文件配置解析介绍
2022/05/06 MySQL