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中使用ConfigParser解析ini配置文件实例
Aug 30 Python
详解Python字符串对象的实现
Dec 24 Python
python-opencv在有噪音的情况下提取图像的轮廓实例
Aug 30 Python
python编程线性回归代码示例
Dec 07 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
Python通过paramiko远程下载Linux服务器上的文件实例
Dec 27 Python
python实现转圈打印矩阵
Mar 02 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
numpy数组广播的机制
Jul 12 Python
Python爬取腾讯视频评论的思路详解
Dec 19 Python
使用TFRecord存取多个数据案例
Feb 17 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
Jan 15 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
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
YII框架http缓存操作示例
2019/04/29 PHP
JavaScript去掉空格的方法集合
2010/12/28 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
基于Bootstrap+jQuery.validate实现表单验证
2016/05/30 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
微信小程序纯文本实现@功能
2020/04/08 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Django实现自定义404,500页面教程
2017/03/26 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
python代码编写计算器小程序
2020/03/30 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
如何在C# winform中异步调用web services
2015/09/21 面试题
微电影大赛策划方案
2014/06/05 职场文书
2014年文员工作总结
2014/11/18 职场文书
2014年优秀党员材料
2014/12/18 职场文书
团代会开幕词
2015/01/28 职场文书
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers