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下的Softmax回归函数的实现方法(推荐)
Jan 26 Python
python条件变量之生产者与消费者操作实例分析
Mar 22 Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 Python
Django 浅谈根据配置生成SQL语句的问题
May 29 Python
python的pandas工具包,保存.csv文件时不要表头的实例
Jun 14 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
Jan 07 Python
pyside+pyqt实现鼠标右键菜单功能
Dec 08 Python
pycharm new project变成灰色的解决方法
Jun 27 Python
Pandas-Cookbook 时间戳处理方式
Dec 07 Python
python 字段拆分详解
Dec 17 Python
新手常见Python错误及异常解决处理方案
Jun 18 Python
Django DRF APIView源码运行流程详解
Aug 17 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
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
特转载一高手总结PHP学习资源和链接.
2006/12/05 PHP
php中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
PHP Session机制简介及用法
2014/08/19 PHP
PHP内核探索之变量
2015/12/22 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
聊聊Vue.js的template编译的问题
2017/10/09 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
vue简单练习 桌面时钟的实现代码实例
2019/09/19 Javascript
python中使用mysql数据库详细介绍
2015/03/27 Python
十个Python程序员易犯的错误
2015/12/15 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
2016/12/23 Python
使用Python进行目录的对比方法
2018/11/01 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
pytorch实现查看当前学习率
2020/06/24 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
JSP&Servlet技术面试题
2015/05/21 面试题
初中生学习生活的自我评价
2013/11/20 职场文书
新浪微博实习心得体会
2014/01/27 职场文书
个人租房协议书范本
2014/09/30 职场文书
党员年终个人总结
2015/02/14 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
导游词之南迦巴瓦峰
2019/11/19 职场文书