字符串拼接方法总结(5种常用方法)

1、来自C语言的%方式

print(’%s %s’ % (‘Hello’, ‘world’))

Hello world

%号格式化字符串的方式继承自古老的C语言,这在很多编程语言都有类似的实现。上例的%s是一个占位符,它仅代表一段字符串,并不是拼接的实际内容。实际的拼接内容在一个单独的%号后面,放在一个元组里。

类似的占位符还有:%d(代表一个整数)、%f(代表一个浮点数)、%x(代表一个16进制数),等等。%占位符既是这种拼接方式的特点,同时也是其限制,因为每种占位符都有特定意义,实际使用起来太麻烦了。

2、format()拼接方式

简洁版

s1 = ‘Hello {}! My name is {}.’.format(‘World’, ‘Python猫’)
print(s1)

Hello World! My name is Python猫.

对号入座版

s2 = ‘Hello {0}! My name is {1}.’.format(‘World’, ‘Python猫’)
s3 = ‘Hello {name1}! My name is {name2}.’.format(name1=‘World’, name2=‘Python猫’)
print(s2)

Hello World! My name is Python猫.
print(s3)

Hello World! My name is Python猫.

这种方式使用花括号{}做占位符,在format方法中再转入实际的拼接值。容易看出,它实际上是对%号拼接方式的改进。这种方式在Python2.6中开始引入。

上例中,简洁版的花括号中无内容,缺点是容易弄错次序。对号入座版主要有两种,一种传入序列号,一种则使用key-value的方式。实战中,我们更推荐后一种,既不会数错次序,又更直观可读。

format使用案例

>>> a = '我是%s'
>>> b ='华王'
>>> c=format(a%b)
>>> c
'我是华王'
>>>

3、常用的+号方式

str_1 = 'Hello world! ’
str_2 = ‘My name is Python猫.’
print(str_1 + str_2)

Hello world! My name is Python猫.
print(str_1)

Hello world!

4、join()拼接方式

str_list = [‘Hello’, ‘world’]
str_join1 = ’ '.join(str_list)
str_join2 = ‘-’.join(str_list)
print(str_join1) >>>Hello world
print(str_join2) >>>Hello-world
str对象自带的join()方法,接受一个序列参数,可以实现拼接。拼接时,元素若不是字符串,需要先转换一下。可以看出,这种方法比较适用于连接序列对象中(例如列表)的元素,并设置统一的间隔符。

当拼接长度超过20时,这种方式基本上是首选。不过,它的缺点就是,不适合进行零散片段的、不处于序列集合的元素拼接。

5、f-string方式

name = ‘world’
myname = ‘python_cat’
words = f’Hello {name}. My name is {myname}.’
print(words)

Hello world. My name is python_cat.

f-string方式出自PEP 498(Literal String Interpolation,字面字符串插值),从Python3.6版本引入。其特点是在字符串前加 f 标识,字符串中间则用花括号{}包裹其它字符串变量。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值