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中使用enumerate函数遍历元素实例
Jun 16 Python
Python中Threading用法详解
Dec 27 Python
Python打印“菱形”星号代码方法
Feb 05 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
Python Requests库基本用法示例
Aug 20 Python
浅述python2与python3的简单区别
Sep 19 Python
Python设计模式之职责链模式原理与用法实例分析
Jan 11 Python
python自定义函数实现最大值的输出方法
Jul 09 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
使用Keras训练好的.h5模型来测试一个实例
Jul 06 Python
python re模块常见用法例举
Mar 01 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
UCenter Home二次开发指南
2009/05/28 PHP
php 验证码制作(网树注释思想)
2009/07/20 PHP
php实现文件下载更能介绍
2012/11/23 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
[03:08]迎霜节狂欢!2018年迎霜节珍藏Ⅰ一览
2018/12/25 DOTA
python中argparse模块用法实例详解
2015/06/03 Python
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
Python正则表达式和元字符详解
2018/11/29 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
python实现对输入的密文加密
2019/03/20 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
python实现邮件自动发送
2019/08/10 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
Django和Flask框架优缺点对比
2019/10/24 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
RetroStage德国:复古服装
2019/02/03 全球购物
办公室文秘自我鉴定
2013/09/21 职场文书
工程力学硕士生的自我评价范文
2013/11/16 职场文书
外贸业务员的岗位职责
2013/11/23 职场文书
七一表彰活动方案
2014/01/18 职场文书
关于雷锋的演讲稿
2014/05/10 职场文书
html5调用摄像头截图功能
2022/01/18 Javascript
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL