字符串操作

Python字符串

字符串格式化

Python将若干值插入到带有"%"标记的字符串中,从而可以动态的输出字符串
<ol>
<li>
在"%"操作符的左侧放置一个需要进行格式化的字符创,这个字符串带有一个或多个嵌入的转换目标,都以"%"开头
</li>
<li>
在"%"操作的右侧放置一个(或多个)对象,这些对象将会从插入到左侧想让Python进行格式化字符串的一个装换目标位置上去
</li>
</ol>
<pre>
'That is %d %s bird!' %(1,'dead')

That is 1 dead bird!

"%d %d %d you" %(1,'spam',4) #注意格式化的顺序

1 spam 4 you

x = 1234
res = 'integers:...%d...%-6d...%06d'%(x,x,x)

integers:...1234...1234 ...001234

'浮点数:%.2f'%1.254
浮点数:1.25
</pre>

基于字典的字符串格式化

字符串的格式化同时也允许左边的转换目标来引用右边字典中的键来提取对应的值
<pre>
"%(n)d %(x)s"%{"n":1,"x":"spam"}

1 spam
</pre>
上例中,格式化字符串里(n)和(x)引用了右边字典中的键来提取对应的值

<pre>
reply = """Greetings...
Hello %(name)s!
Your age squared is %(age)s"""
values = {'name':'Bob','age':40}
print(reply % values)

Greetings...
Hello Bob!
Your age squared is 40
</pre>

字符串格式化调用方法

调用字符串对象的format方法使用主体字符串作为模板,并且接受任意多个表示将要更具模板替换的值的参数。
在主体字符串中,花括号通过位置{0}或这关键字{food}指出替换目标将要插入的参数
<pre>

template = '{0},{1} and {2}'
template.format('spam','ham','egges')

'spam,ham and egges'

template = '{motto},{pork} and {food}'
template.format(motto='spam',pork='ham',food='egges')

'spam,ham and egges'

template = '{motto},{0} and {food}'
template.format('ham',motto='spam',food='egges')

'spam,ham and egges'
4.表示一个有小数点后两位的小数 0:表示()中第一个数
'{0:.2f}'.format(1/3.0)
0.33
</pre>

字符串格的合并

<pre>
1.Python使用"+"连接不同的字符串。如果两侧都是字符串类型则采用连接操作,如果都是数字类型砸采用加法运算
,如果两边类型不一样则抛出异常
str1 = 'hello '
str2 = 'world '
str3 = 'hello '
str4 = 'China '
result = str1 + str2 + str3 + str4

hello world hello China
2.join()函数配合列表使用也可以连接字符串.接受一个list类型的参数
strs = ['hello','world','hello','China']
' '.join(strs)
'hello world hello China'
3.可以使用reduce()函数进行累计拼接
import operator
op = reduce(operator.add, strs,"")
'hello world hello China'
</pre>

字符串的截取

Python可以通过"索引"、"切片"获取子字符串
<pre>
word = "world"
print(word[4])
print(word[0:3])
print(word[0:4:2]) #各一个字符取一个
print(word[::-1]) #字符串反转 从最后一个开始取

'd' 'wor' 'wr' 'dlrow'

</pre>

字符串的比较

Python直接使用"=="、"!="、">"、"<"运算符比较来那个字符串的内容
<pre>
word = 'hello world'
print('hello' == word[0:5])
print(word>'tyt')
print(word.startswith('hello')) #判断字符串是否以hello开头
print(word.endswith('ld',6))

True False True True
</pre>

字符串的查找和替换

find(substring[,start[,end]])
子串,开始位置,结束位置
<pre>
sentence ="This is a apple"
print(sentence.find("a"))
sentence ="This is a apple"
print(sentence.rfind('a')) #从后往前找
</pre>

替换字符串

字符串的替换 replace()先创建变量的拷贝,然后在拷贝中替换字符串
不会改变变量的值
<pre>
centence = "hello world, hello China"
print(centence.replace("hello", "hi"))
print(centence.replace("hello", "hi",1))
print(centence)
</pre>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,376评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,126评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,966评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,432评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,519评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,792评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,933评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,701评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,143评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,488评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,626评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,292评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,896评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,494评论 2 348

推荐阅读更多精彩内容