Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的{}.format函数替换_Python - Fatal编程技术网

Python中的{}.format函数替换

Python中的{}.format函数替换,python,Python,这是一个非常简单的问题 我开始喜欢使用{}.format,即使我没有格式化变量本身,如: print("Welcome to {}, {} {}!".format(location,firstname,lastname)) 这意味着我在字符串和变量之间没有逗号,可以直接控制字符串内的间距。但是,如果我仍然这样做,即使只有一个变量,比如 print("I am at {} right now.".format(location)) 使用这种格式有什么问题吗 有更好的方法做同样的事情吗?.for

这是一个非常简单的问题

我开始喜欢使用{}.format,即使我没有格式化变量本身,如:

print("Welcome to {}, {} {}!".format(location,firstname,lastname))
这意味着我在字符串和变量之间没有逗号,可以直接控制字符串内的间距。但是,如果我仍然这样做,即使只有一个变量,比如

print("I am at {} right now.".format(location))
使用这种格式有什么问题吗

有更好的方法做同样的事情吗?

.format()
可以,即使只有一个变量。在python 3.6中,还可以使用:

print(f"I am at {location} right now.")

有关详细信息,请参阅中的讨论。

它没有问题。但是执行
打印(“我现在在%s。”%location)
可能会更干净一些,只有一个变量

编辑 值得注意的是,此方法是特定于类型的。
%s
中的
s
表示“此位置为字符串保留。”


而且,我个人觉得很有帮助。通过阅读和练习这些示例,我学会了如何以各种方式格式化字符串。您可以在左上角更改Python版本号。

如果您所做的只是打印,并且打印的对象都由相同的字符串(如空格)分隔,那么您可以将它们作为多个参数传递给
打印

print('I am at', location, 'right now.')

“更好”是什么意思?更快?更具可读性?最后,一个变量的插入对于几乎所有的选择都是相当快的,而可读性可能是主观的(但我最喜欢
格式
或python 3.6
f
-字符串):)我喜欢像你一样使用它,但我认为这个问题是基于观点的(不认为在这方面有任何政治公众人物的指导)除非
location
不是一个字符串,否则如果它是一个元组,您将遇到问题。@Tadhgmandon Jensen我将在我的回答中添加它是特定于类型的。