Python中汉字和变量拼接输出的8种方法(字符串拼接)

方法1:使用加号“+”连接字符串

最常用的连接字符串的方式是用加号“+”连接两个字符串,连接后这两个字符串将连接成一个字符串。但需注意的是,不能用“+”连接字符串数字,需要把数字使用str()函数转换成字符串,或者直接在数字两侧加带引号,再进行连接,示例如下:

shuzi=8

print('我最喜欢的数是'+str(shuzi))

该方法性能差,尽量少用,因为 Python 中字符串是不可变类型,使用“+”号连接相当于生成一个新的字符串,需要重新申请内存,当用“+”号连接非常多的字符串时,将会很耗费内存,可能造成内存溢出。

方法2:使用逗号连接字符串

shuzi=8

print('我最喜欢的数是',shuzi)

方法3:通过“%”连接字符串

借鉴C语言中的 printf 函数功能,使用%号连接一个字符串和一组变量,字符串中的特殊标记会被自动使用右边变量组中的变量替换。

shuzi=8

print('我最喜欢的数是%s'%shuzi)

注:其中%s是占位符。

方法4:通过str.format()方法拼接

shuzi=8

print('我最喜欢的数是{}'.format(shuzi))

通过这种方式拼接字符串需要注意的是字符串中{}的数量要和format方法参数数量一致,否则会报错。

方法5:通过f-strings拼接

在python3.6.2版本中,PEP 498 提出一种新型字符串格式化机制,被称为“字符串插值”或者更常见的一种称呼是f-strings,f-strings提供了一种明确且方便的方式将python表达式嵌入到字符串中来进行格式化:

shuzi=8

print(f'我最喜欢的数字是{shuzi}')

方法6:通过str.join()方法拼接

shuzi=['我最喜欢的数字是','8']

print(''.join(shuzi))

这种方式一般常使用在将集合转化为字符串,”.join()其中”可以是空字符,也可以是任意其他字符,当是任意其他字符时,集合中字符串会被该字符隔开,例如:

shuzi=['我最喜欢的数字是','8']

print('-'.join(shuzi))

输出

我最喜欢的数字是-8

方法7:通过()多行拼接

shuzi=('我最喜欢的数字是'

'8')

print(shuzi)

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

方法8:通过string模块中的Template对象拼接

from string import Template

s = Template('我最喜欢的数字是${s1}')

print(s.safe_substitute(s1='8'))

Template的实现方式是首先通过Template初始化一个字符串。这些字符串中包含了一个个key。通过调用substitute或safe_subsititute,将key值与方法中传递过来的参数对应上,从而实现在指定的位置导入字符串。

总结

格式化类:%、format()、 template
拼接类:+、()、join()、逗号
插值类: f-strings
当要处理字符串列表等序列结构时,彩用join()方式;拼接长度不超过20时,选用+号操作符方式;长度超过20的情况,高版本选用f-string,低版本看情况使用format()或join()方式。

物联沃分享整理
物联沃-IOTWORD物联网 » Python中汉字和变量拼接输出的8种方法(字符串拼接)

发表评论