Python “连接”或“格式化”字符串更好吗?
哪个更快-更高效-更合适Python “连接”或“格式化”字符串更好吗?,python,concatenation,Python,Concatenation,哪个更快-更高效-更合适 加入 string=“你好” concatenate=”“.join([string,“World”]) 打印(连接) 或 格式 string=“你好” concatenate=f“{string}世界” 打印(连接) 我们可以使用join()函数将字符串与分隔符连接起来。当我们有一个字符串序列时,它很有用,例如字符串列表或元组。 比方说- s1 = 'Hello' s2 = 'World' print('Concatenated String using join
加入
string=“你好”
concatenate=”“.join([string,“World”])
打印(连接)
或
格式
string=“你好”
concatenate=f“{string}世界”
打印(连接)
我们可以使用join()函数将字符串与分隔符连接起来。当我们有一个字符串序列时,它很有用,例如字符串列表或元组。
比方说-
s1 = 'Hello'
s2 = 'World'
print('Concatenated String using join() =', "".join([s1, s2]))
Output:
Concatenated String using join() = HelloWorld
print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))
Output:
Concatenated String using join() and spaces = Hello World
.格式函数-
我们也可以使用string format()函数进行字符串连接和格式化
s1 = 'Hello'
s2 = 'World'
s3 = f'{s1} {s2}'
print('String Concatenation using f-string =', s3)
String Concatenation using f-string = Hello World
name = 'Pankaj'
age = 34
d = Data(10)
print(f'{name} age is {age} and d={d}')
Pankaj age is 34 and d=Data[10]
它们可以做不同的事情,可以一起使用 在您的简单示例中,format(或sprintf或模板版本)更易于阅读且更具python风格
但请考虑一个文档生成器,该文件生成器具有一个标题行和内容行。 你
- 创建一个空的
out\u列表=[]
标题并将其附加到out\u列表中格式化
- 循环浏览
,in\u列表
中的每个项目,并附加到out\u列表格式
以获取整个文档“\n”。加入(外部列表)
- Python版本
- 多个可能的模板,即
和Hello$name
Bonjour$name
- 模板在别处定义,可能在另一个函数或文件中李>
- 对于额外的兔子洞,可以生成模板本身 按代码。让我们假设一个动态显示结果字段的系统 来自任意sql查询
格式
,但它的一个缺点是,它只适用于python 3.6及以上版本。F-string速度快得多,但在您不知道要传递给join
的字符串数量时,它并不合适。