简介
字符串是Python中核心类型之一,也是编程过程中最常使用到的对象之一。有时,我们使用字符串时会经常用到字符串的拼接。如构造文件路径,网络通讯传输的字符串,数据库SQL操作时字符串的操作。以下介绍几种常用的字符串拼接方法:
直接拼接
最简单的字符串拼接方法有以下两种:
方法一:
str_a = 'hello' 'word'
方法二:用 +
str_b = 'hello' + 'word'
格式化方法
当需拼接的字符串比较多时,用直接拼接的方式就比较繁琐。而且,当有时字符串需要与变量进行拼接时,用直接拼接的方法就难以做到。就可用%s或者字典格式化的方法。常用的方法有以下几种:
%s 拼接单个
str_c = 'hello%s'
print(str_c % 'word')
# ------运行结果------
# hello word
# ------运行结果------
%s 拼接多个
注意: 传入参数数量需和字符串中%s数量一致,用%s时传入的可为其他形式的类型
str_d = 'method?name:%s,age:%s,hobby:%s.'
print(str_d % ('小明', 18, '编程'))
# ------运行结果------
# method?name:小明,age:18,hobby:编程.
# ------运行结果------
%f 方法拼接
%f 用来格式化十进制浮点数
float_a = '我还有%f元钱' % 12.5
print(float_a)
# ------运行结果------
# 我还有12.500000元钱
# ------运行结果------
float_b = '我还有%.2f元钱' % 12.5
print(float_b)
# ------运行结果------
# 我还有12.50元钱
# ------运行结果------
基于字典的格式化操作
如写SQL语句时可以用%s,也可以用字典格式化操作,传入参数时会更加明确。
ql_a = "SELECT ID FROM TABLE_1 WHERE NAME =%(name)sAND AGE =%(age)s"
print(sql_a % {'name': '小明', 'age': '18'})
# ------运行结果------
# SELECT ID FROM TABLE_1 WHERE NAME = 小明 AND AGE = 18
# ------运行结果------
语法可总结为:
"string %(key)s " % {key: value}
字典格式化与vars()内置函数
vars()内置函数可将在其被调用范围存在的变量转化为字典。
注意: 用此方法时需注意变量的作用域
def vars_test():
name = '小明'
age = 18
sql_b = "SELECT ID FROM TABLE_2 WHERE NAME =%(name)sAND AGE =%(age)s"
print(sql_b % vars())
vars_test()
# ------运行结果------
# SELECT ID FROM TABLE_1 WHERE NAME = 小明 AND AGE = 18
# ------运行结果------
字符串format方法
Python字符串对象有内置的format方法,用在需要拼接字符串时也非常方便。主要的用法有:
方法一:
类似函数位置传参,用位置 0 1 2来定位需拼接的位置:
sql_c = "SELECT ID FROM TABLE_3 WHERE NAME ={0}AND AGE ={1}"
print(sql_c.format('小明',18))
# ------运行结果------
# SELECT ID FROM TABLE_3 WHERE NAME = 小明 AND AGE = 18
# ------运行结果------
方法二:
类似函数的指定传参:
sql_d = "SELECT ID FROM TABLE_4 WHERE NAME ={name}AND AGE ={age}"
print(sql_d.format(name = '小明',age = '18'))
# ------运行结果------
# SELECT ID FROM TABLE_4 WHERE NAME =小明 AND AGE = 18
# ------运行结果------
以上内容均为原创,未经允许,禁止转载。