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


Posted in Python onSeptember 14, 2014

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

>>> a= 'py'
>>> b= 'thon'
>>> a+b
'python'

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

连接字符串的方法2

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

来自百度百科的定义:

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

要求打印(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是否是首字母大写的
S.isupper() #S中的字母是否便是大写
S.islower() #S中的字母是否全是小写

看例子:

>>> a = "Hello,World"
>>> a.upper()   #都是大写
'HELLO,WORLD'
>>> a.lower()   #都是小写
'hello,world'
>>> a.capitalize()  #首字母大写,其余小写
'Hello,wold'
>>> a.istitle()   #首字母是否是大写,如果是返回True,不是返回False
True
>>> a
'Hello,Wold'
>>> b="hellow,world"
>>> b.istitle()   #首字母不是大写,返回false
False
>>> a.islower()   #是否字符串中都是小写,如果是返回true,不是返回false
False
>>> b.islower()
True

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

Python 相关文章推荐
Python常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
深入理解NumPy简明教程---数组3(组合)
Dec 17 Python
python抓取文件夹的所有文件
Feb 27 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
Dec 12 Python
Python3.6中Twisted模块安装的问题与解决
Apr 15 Python
python覆盖写入,追加写入的实例
Jun 26 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
django 单表操作实例详解
Jul 30 Python
windows下的pycharm安装及其设置中文菜单
Apr 23 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
Python实现计算图像RGB均值方式
Jun 04 Python
Python常用断言函数实例汇总
Nov 30 Python
跟老齐学Python之玩转字符串(1)
Sep 14 #Python
跟老齐学Python之永远强大的函数
Sep 14 #Python
用Python实现QQ游戏大家来找茬辅助工具
Sep 14 #Python
跟老齐学Python之开始真正编程
Sep 12 #Python
跟老齐学Python之??碌某?? target=
Sep 12 #Python
跟老齐学Python之用Python计算
Sep 12 #Python
跟老齐学Python之集成开发环境(IDE)
Sep 12 #Python
You might like
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
利用json获取字符出现次数的代码
2012/03/22 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
React.js入门学习第一篇
2016/03/30 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
js返回顶部实例分享
2016/12/21 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
js实现一个简易计算器
2020/03/30 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python从单元素字典中获取key和value的实例
2018/12/31 Python
python二进制文件的转译详解
2019/07/03 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
如何使用Python发送HTML格式的邮件
2020/02/11 Python
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
财务管理职业生涯规划书
2014/02/26 职场文书
初三班主任寄语大全
2014/04/04 职场文书
2014年师德承诺书
2014/05/23 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
有子女的离婚协议书怎么写(范本)
2014/09/29 职场文书
慰问信格式
2015/02/14 职场文书
教师节老师寄语
2015/05/28 职场文书
植物园观后感
2015/06/11 职场文书
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android
SQL Server 中的事务介绍
2022/05/20 SQL Server