python对字符串操作有谈得来非凡的处理情势,②经过str.join()方法拼接

python对字符串操作有自己特殊的处理方式,②通过str.join()方法拼接

python中,对字符串的操作是最普遍的,python对字符串操作有自个儿格外的处理情势。

python拼接字符串一般有以下二种艺术:

字符串的截取

python中对于字符串的目录是相比较尤其的,来感受一下:

s = '123456789'
#截取中间的两个字符
s[1:3]
#输出为:'23'
#从某个位置到结尾
s[4:]
#输出为:'56789'
#字符串的顺序不仅仅可以顺着数,也可以逆着数
s[-8:7]
#输出为'234567',这个在截取文件名称时是比较有用的,比如用s[-3:],可以得到最后三位的字符串。

①直接通过(+)操作符拼接

字符串的查找

查找当前字符串中,是或不是含有别的的字符串。

笔者们能够动用
index,大概find来进展检索,find和index的区分是,假使利用的是index的话,字符串查找中,固然找不到对应的字符串,会抛出1个ValueError的非凡。

s = '123456789'
s.index('23')
#输出:1
s.find('23')
#输出:1
s.index('s')
#输出
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found

s.find('s')
#输出 -1
s = 'Hello'+' '+'World'+'!'
print(s)

分割字符串

连日有无数特殊字符,能够用来分割字符串。数据库中平时把一组相片放在1个字段中,比如
img1.jpg@@@img2.jpg@@@img3.jpg

亟需把不定长的相片都取出来,就必要同特殊字符把字符串分开,获得区别的肖像。

分开的命令为split

s = 'img1.jpg@@@img2.jpg@@@img3.jpg'
s.split('@@@')
#结果为一个数值:['img1.jpg', 'img2.jpg', 'img3.jpg']

输出结果: Hello World!

字符串格式化

Python 协理格式化字符串的输出
。即使那样可能会用到很是复杂的表明式,但最大旨的用法是将叁个值插入到三个有字符串格式符
%s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

#!/usr/bin/python
print "My name is %s and weight is %d kg!" % ('Zara', 21) 
#以上实例输出结果: My name is Zara and weight is 21 kg!

python字符串格式化符号:

符 号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g 根据值的大小决定使用%f活%e
%G 作用同%g,根据值的大小决定使用%f活%e
%p 用十六进制数格式化变量的地址

运用那种办法开始展览字符串连接的操作功用低下,因为python中动用 +
拼接多个字符串时会生成一个新的字符串,生成新的字符串就供给再行申请内存,当拼接字符串较多时当然会潜移默化效用。

字符串Template化

在python中Template能够将字符串的格式固定下来,重复使用。

Template属于string中的2个类,要使用她的话能够用以下情势调用:

from string import Template

作者们运用以下代码:

>>> s = Template('There  ${moneyType} is  ${money}')
>>> print s.substitute(moneyType = 'Dollar',money=12)

运维结果展现“There Dollar is 12”

如此大家就足以替换在那之中的数码了。

更加多入门教程能够参见:[http://www.bugingcode.com/python_start/]
(http://www.bugingcode.com/python_start/)

②通过str.join()方法拼接

strlist=['Hello',' ','World','!']
print(''.join(strlist))

输出结果: Hello World!

那种方法相似常使用在将聚集转化为字符串,”.join()个中”能够是空字符,也得以是轻易其余字符,当是任意别的字符时,集合中字符串会被该字符隔离,例如:

​strlist=['Hello',' ','World','!']
print(','.join(strlist))

出口结果: Hello, ,World,!

③通过str.format()方法拼接

s='{} {}!'.format('Hello','World')
print(s)

输出结果: Hello World!

经过那种办法拼接字符串供给小心的是字符串中{}的数码要和format方法参数数量同样,不然会报错。

④因而(%)操作符拼接

s = '%s %s!' % ('Hello', 'World')
print(s)

出口结果: Hello World!

那种方法与str.format()使用办法基本一致。

⑤经过()多行拼接

s = (
  'Hello'
  ' '
  'World'
  '!'
)
print(s)

出口结果: Hello World!

python遇到未密闭的小括号,自动将多行拼接为一行。

⑥透过string模块中的Template对象拼接

from string import Template
s = Template('${s1} ${s2}!') 
print(s.safe_substitute(s1='Hello',s2='World'))

出口结果: Hello World!

Template的落到实处情势是第③通过Template开端化三个字符串。这么些字符串中带有了八个个key。通过调用substitute或safe_subsititute,将key值与艺术中传递过来的参数对应上,从而完结在钦定的职位导入字符串。那种方法的好处是不需求操心参数不雷同引发那一个,如:

from string import Template
s = Template('${s1} ${s2} ${s3}!') 
print(s.safe_substitute(s1='Hello',s2='World'))

出口结果: Hello World ${s3}!

⑦通过F-strings拼接

在python3.6.2本子中,PEP 498
建议一种风尚字符串格式化学工业机械制,被叫做“字符串插值”可能更宽泛的一种叫做是
F-strings,
F-strings提供了一种引人注目且有利于的措施将python表明式嵌入到字符串中来拓展格式化:

s1='Hello'
s2='World'
print(f'{s1} {s2}!')

出口结果: Hello World!

在F-strings中大家也能够实行函数:

def power(x):
  return x*x
x=4
print(f'{x} * {x} = {power(x)}')

输出结果: 4 * 4 = 16

而且F-strings的运转速度快捷,比%-string和str.format()那二种格式化方法都快得多。

总结

上述所述是小编给我们介绍的Python
中字符串拼接的有余方法,希望对咱们具有支持,假若我们有另外疑问请给笔者留言,笔者会及时回复大家的。在此也12分感激大家对台本之家网站的帮衬!

您大概感兴趣的稿子: