今天,跟大家一起来学习Python拼接字符串的几种种方式。
1、%方式
print('%s%s'%('Hello','world')) >>>Helloworld
%号格式化字符串的方式继承自古老的C语言,这在很多编程语言都有类似的实现。上例的%s是一个占位符,它仅代表一段字符串,并不是拼接的实际内容。实际的拼接内容在一个单独的%号后面,放在一个元组里。
类似的占位符还有:%d(代表一个整数)、%f(代表一个浮点数)、%x(代表一个16进制数),等等。%占位符既是这种拼接方式的特点,同时也是其限制,因为每种占位符都有特定意义,实际使用起来太麻烦了。
2、format()拼接方式
#简洁版 s1='Hello{}!Mynameis{}.'.format('World','Python猫') print(s1) >>>HelloWorld!MynameisPython猫. #对号入座版 s2='Hello{0}!Mynameis{1}.'.format('World','Python猫') s3='Hello{name1}!Mynameis{name2}.'.format(name1='World',name2='Python猫') print(s2) >>>HelloWorld!MynameisPython猫. print(s3) >>>HelloWorld!MynameisPython猫.
这种方式使用花括号{}做占位符,在format方法中再转入实际的拼接值。容易看出,它实际上是对%号拼接方式的改进。这种方式在Python2.6中开始引入。
上例中,简洁版的花括号中无内容,缺点是容易弄错次序。对号入座版主要有两种,一种传入序列号,一种则使用key-value的方式。实战中,我们更推荐后一种,既不会数错次序,又更直观可读。
3、() 类似元组方式
s_tuple=('Hello','','world') s_like_tuple=('Hello''''world') print(s_tuple) >>>('Hello','','world') print(s_like_tuple) >>>Helloworld type(s_like_tuple)>>>str
注意,上例中s_like_tuple并不是一个元组,因为元素间没有逗号分隔符,这些元素间可以用空格间隔,也可以不要空格。使用type()查看,发现它就是一个str类型。我没查到这是啥原因,猜测或许()括号中的内容是被Python优化处理了。
这种方式看起来很快捷,但是,括号()内要求元素是真实字符串,不能混用变量,所以不够灵活。
4、常用的+号方式
str_1='Helloworld!' str_2='MynameisPython猫.' print(str_1+str_2) >>>Helloworld!MynameisPython猫. print(str_1) >>>Helloworld!
str_list=['Hello','world'] str_join1=''.join(str_list) str_join2='-'.join(str_list) print(str_join1)>>>Helloworld print(str_join2)>>>Hello-world原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容