我们在处理数据时,经常需要将字符串进行拼接,下面介绍几种字符串拼接的方法:
方法1:使用加号“+”连接字符串
最常用的连接字符串的方式是用加号“+”连接两个字符串,连接后这两个字符串将连接成一个字符串。但需注意的是,不能用“+”连接字符串和数字,需要把数字使用str()函数转换成字符串,或者直接在数字两侧加带引号,再进行连接,示例如下:
str1 = 'www.' + 'python' + '.org'
str2 = 'www.' + str(12306) + '.com'
str3 = 'www.' + '12306' + '.com'
print(str1)
print(str2)
print(str3)
output:
www.python.org
www.12306.com
www.12306.com
注:
- 但在python中,尽量少用加号“+”连接字符串,原因如下:在python中,String对象是定长对象,一旦创建,长度就不可变化,若是使用+号连接两个字符串,则会新开辟一段长度总和长度的内存,再将两个字符串memcpy进去。如果要连接N个String对象,则要进行N-1次内存申请和拷贝。
- 官方推荐的是使用字符串的join方法,该方法对于连接一个list或tuple中的元素非常有效,它会先统计所有元素的长度,申请内存,然后拷贝。
方法2.使用逗号连接字符串
python可用逗号“,”将多个字符串连接为一个元组,再通过join()方法将元组中的各个元素连接为一个字符串,从而达到连接字符串的目的。若是直接将字符串逗号连接后print,字符串之间会多一个空格。
str1 = '我'
str2 = '是'
str3 = '中国人'
total = str1,str2,str3
print(str1,str2,str3)
print(''.join(total))
output:
我 是 中国人
我是中国人
方法3.直接连接字符串
python独有的方法。只要把两个字符串放在一起,无论中间有空白或没有空白,两个字符串将自动连接为一个字符串(空格不会自动去掉),如下:
print('www.''python''.org')
print('www.' 'python''.org')
output:
www.python.org
www.python.org
方法4.通过“%”连接字符串
这种功能比较强大,借鉴了C语言中 printf 函数的功能。符号“%”连接一个字符串和一组变量,字符串中的特殊标记会被自动用右边变量组中的变量进行替换(字符串之间会有空格隔开),如下:
print('%s %s %s'%('我','是', '中国人'))
output:
我 是 中国人
方法5.通过join()函数连接字符串
利用字符串函数 join(),它是 split() 方法的逆方法。这个函数接收一个列表,然后用字符串依次连接列表中每一个元素,其类似方法2的最后一步,如下:
list = ['hello', 'world']
print('_'.join(list))
output:
hello_world
方法6.多行字符串拼接()
str = ('select * '
'from table '
'where id=888')
print(str)
output:
select * from table where id=888
注:python遇到未闭合的小括号,自动将多行拼接为一行,相比三个引号和换行符,这种方式不会把换行符、前导空格当作字符。
参考资料:
1.https://www.cnblogs.com/yunlongaimeng/p/10838185.html。
2.https://www.cnblogs.com/bigtreei/p/7892113.html。
3.https://www.cnblogs.com/aiguiling/p/8496825.html。
4.《python编程锦囊》明日科技。