跟老齐学Python之玩转字符串(2)更新篇


Posted in Python onSeptember 28, 2014

上一章中已经讲到连接两个字符串的一种方法。复习一下:

>>> a= 'py'

>>> b= 'thon'

>>> a+b

'python'

既然这是一种方法,言外之意,还有另外一种方法。

连接字符串的方法2

在说方法2之前,先说明一下什么是占位符,此前在讲解变量(参数)的时候,提到了占位符,这里对占位符做一个比较严格的定义:

来自百度百科的定义:

顾名思义,占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号。
根据这个定义,在python里面规定了一些占位符,通过这些占位符来说明那个位置应该填写什么类型的东西,这里暂且了解两个占位符:%d——表示那个位置是整数,%s——表示那个位置应该是字符串。下面看一个具体实例:

>>> print "one is %d"%1

one is 1

要求打印(print)的内容中,有一个%d占位符,就是说那个位置应该放一个整数。在第二个%后面,跟着的就是那个位置应该放的东西。这里是一个整数1。我们做下面的操作,就可以更清楚了解了:

>>> a=1

>>> type(a)

<type 'int'>    #a是整数

>>> b="1"

>>> type(b)

<type 'str'>    #b是字符串

>>> print "one is %d"%a

one is 1

>>> print "one is %d"%b     #报错了,这个占位符的位置应该放整数,不应该放字符串。

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  TypeError: %d format: a number is required, not str

同样道理,%s对应的位置应该放字符串,但是,如果放了整数,也可以。只不过是已经转为字符串对待了。但是不赞成这么做。在将来,如果使用mysql(一种数据库)的时候,会要求都用%s做为占位符,这是后话,听听有这么回事即可。

>>> print "one is %s"%b

one is 1

>>> print "one is %s"%a     #字符串是包容的

one is 1

好了。??掳胩欤?嘉环?遣皇抢斫饬四兀肯旅嫖颐蔷陀谜嘉环?戳?幼址??J遣皇呛苡幸馑迹?/p>

>>> a = "py"

>>> b = "thon"

>>> print "%s%s"%(a,b)  #注

python

注:仔细观察,如果两个占位符,要向这两个位置放东西,代表的东西要写在一个圆括号内,并且中间用逗号(半角)隔开。

字符串复制

有一个变量,连接某个字符串,也想让另外一个变量,也连接这个字符串。一种方法是把字符串再写一边,这种方法有点笨拙,对于短的到无所谓了。但是长的就麻烦了。这里有一种字符串复制的方法:

>>> a = "My name is LaoQi. I like python and can teach you to learn it."

>>> print a

My name is LaoQi. I like python and can teach you to learn it.

>>> b = a

>>> print b

My name is LaoQi. I like python and can teach you to learn it.

>>> print a

My name is LaoQi. I like python and can teach you to learn it.

复制非常简单,类似与赋值一样。可以理解为那个字符串本来跟a连接着,通过b=a,a从自己手里分处一股绳子给了b,这样两者都可以指向那个字符串了。

字符串长度

要向知道一个字符串有多少个字符,一种方法是从头开始,盯着屏幕数一数。哦,这不是计算机在干活,是键客在干活。键客,不是剑客。剑客是以剑为武器的侠客;而键客是以键盘为武器的侠客。当然,还有贱客,那是贱人的最高境界,贱到大侠的程度,比如岳不群之流。

键客这样来数字符串长度:

>>> a="hello"

>>> len(a)

5

使用的是一个函数len(object)。得到的结果就是该字符串长度。

>>> m = len(a)  #把结果返回后赋值给一个变量

>>> m

5

>>> type(m)     #这个返回值(变量)是一个整数型

<type 'int'>

字符大小写的转换

对于英文,有时候要用到大小写转换。最有名驼峰命名,里面就有一些大写和小写的参合。如果有兴趣,可以来这里看自动将字符串转化为驼峰命名形式的方法。

在python中有下面一堆内建函数,用来实现各种类型的大小写转化

S.upper() #S中的字母大写
S.lower() #S中的字母小写
S.capitalize() #首字母大写
S.istitle() #是否单词首字母大写的,且其它为小写,注网友白羽毛指出,这里表述不准确。非常感谢他。为了让看官对这些大小写问题有更深刻理解,我从新写下面的例子,请看官审查。再次感谢白羽毛。
S.isupper() #S中的字母是否全是大写
S.islower() #S中的字母是否全是小写
看例子:

>>> a = "qiwsir,python" 

>>> a.upper()       #将小写字母完全变成大写字母

'QIWSIR,PYTHON'

>>> a               #原数据对象并没有改变

'qiwsir,python'

>>> b = a.upper()

>>> b

'QIWSIR,PYTHON'

>>> c = b.lower()   #将所有的小写字母编程大写字母

>>> c

'qiwsir,python'
>>> a

'qiwsir,python'

>>> a.capitalize()  #把字符串的第一个字母变成大写

'Qiwsir,python'

>>> a               #原数据对象没有改变

'qiwsir,python'

>>> b = a.capitalize() #新建立了一个

>>> b

'Qiwsir,python'
>>> a = "qiwsir,github"    #这里的问题就是网友白羽毛指出的,非常感谢他。

>>> a.istitle()

False

>>> a = "QIWSIR"        #当全是大写的时候,返回False

>>> a.istitle()

False

>>> a = "qIWSIR"

>>> a.istitle()

False

>>> a = "Qiwsir,github"  #如果这样,也返回False

>>> a.istitle()

False

>>> a = "Qiwsir"        #这样是True

>>> a.istitle()

True

>>> a = 'Qiwsir,Github' #这样也是True

>>> a.istitle()

True
>>> a = "Qiwsir"

>>> a.isupper()

False

>>> a.upper().isupper()

True

>>> a.islower()

False

>>> a.lower().islower()

True

顺着白羽毛网友指出的,再探究一下,可以这么做:

>>> a = "This is a Book"

>>> a.istitle()

False

>>> b = a.title()     #这样就把所有单词的第一个字母转化为大写

>>> b

'This Is A Book'

>>> a.istitle()       #判断每个单词的第一个字母是否为大写

False

字符串问题,看来本讲还不能结束。下一讲继续。有看官可能要问了,上面这些在实战中怎么用?我正想为你的,请键客设计一种实战情景,能不能用上所学。

Python 相关文章推荐
Python  __getattr__与__setattr__使用方法
Sep 06 Python
Python编程实现二分法和牛顿迭代法求平方根代码
Dec 04 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
Jan 11 Python
python按行读取文件,去掉每行的换行符\n的实例
Apr 19 Python
详解python多线程、锁、event事件机制的简单使用
Apr 27 Python
Python3.7 dataclass使用指南小结
Feb 22 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
Apr 29 Python
Django 请求Request的具体使用方法
Nov 11 Python
Python 获取命令行参数内容及参数个数的实例
Dec 20 Python
Python函数默认参数常见问题及解决方案
Mar 26 Python
keras小技巧——获取某一个网络层的输出方式
May 23 Python
python中怎么表示空值
Jun 19 Python
跟老齐学Python之不要红头文件(2)
Sep 28 #Python
跟老齐学Python之不要红头文件(1)
Sep 28 #Python
python自动化测试之连接几组测试包实例
Sep 28 #Python
python自动化测试之从命令行运行测试用例with verbosity
Sep 28 #Python
跟老齐学Python之有容乃大的list(4)
Sep 28 #Python
跟老齐学Python之做一个小游戏
Sep 28 #Python
跟老齐学Python之坑爹的字符编码
Sep 28 #Python
You might like
虫族 Zerg 热键控制
2020/03/14 星际争霸
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
2013/08/10 PHP
php查找任何页面上的所有链接的方法
2013/12/03 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
在vue中把含有html标签转为html渲染页面的实例
2019/10/28 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
python发布模块的步骤分享
2014/02/21 Python
python如何压缩新文件到已有ZIP文件
2018/03/14 Python
python 解决函数返回return的问题
2020/12/05 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
巴西网上药房:onofre
2016/11/21 全球购物
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
毕业生求职简历的自我评价
2013/10/23 职场文书
毕业生就业推荐信范文
2013/12/01 职场文书
刘胡兰的英雄事迹材料
2014/02/11 职场文书
大学学风建设方案
2014/05/04 职场文书
村级换届选举方案
2014/05/10 职场文书
2014预备党员党课学习心得范文
2014/07/08 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
工会文体活动总结
2015/05/07 职场文书
2015年防汛工作总结
2015/05/15 职场文书
2017元旦晚会开幕词
2016/03/03 职场文书
python爬虫--selenium模块
2021/03/31 Python
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS