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 中文乱码问题深入分析
Mar 13 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
Python解决走迷宫问题算法示例
Jul 27 Python
django云端留言板实例详解
Jul 22 Python
Django和Flask框架优缺点对比
Oct 24 Python
pygame实现成语填空游戏
Oct 29 Python
Python计算公交发车时间的完整代码
Feb 12 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
Python 抓取数据存储到Redis中的操作
Jul 16 Python
python实现数字炸弹游戏程序
Jul 17 Python
深度学习tensorflow基础mnist
Apr 14 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
Protoss建筑一览
2020/03/14 星际争霸
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
2013/01/23 Javascript
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
Javascript中 toFixed四舍六入方法
2017/08/21 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
2020/10/18 Javascript
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
python搭建简易服务器分析与实现
2012/12/15 Python
Python深入学习之特殊方法与多范式
2014/08/31 Python
python使用opencv读取图片的实例
2017/08/17 Python
基于Python代码编辑器的选用(详解)
2017/09/13 Python
更新修改后的Python模块方法
2019/03/03 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
加拿大国民体育购物网站:National Sports
2018/11/04 全球购物
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
中介业务员岗位职责
2014/04/09 职场文书
实习生矿工检讨书
2014/10/13 职场文书