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 爬虫爬到含空格的url的处理方法
May 11 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
Python使用一行代码获取上个月是几月
Aug 30 Python
pyhanlp安装介绍和简单应用
Feb 22 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
Oct 28 Python
Python高级特性之闭包与装饰器实例详解
Nov 19 Python
TensorFlow绘制loss/accuracy曲线的实例
Jan 21 Python
Python如何实现爬取B站视频
May 20 Python
python如何绘制疫情图
Sep 16 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 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
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
Bootstrap Table使用方法详解
2016/08/01 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
JavaScript实现form表单的多文件上传
2020/03/27 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
2017/08/01 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
原生js实现日历效果
2020/03/02 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
Python中操作符重载用法分析
2016/04/29 Python
python 对象和json互相转换方法
2018/03/22 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
python+requests接口自动化框架的实现
2020/08/31 Python
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
alice McCALL官网:澳大利亚时尚品牌
2020/11/16 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
2014年五一活动策划方案
2014/03/15 职场文书
爱国主义演讲稿
2014/05/07 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
vue 实现上传组件
2021/05/31 Vue.js
Golang 字符串的常见操作
2022/04/19 Golang