有关格式化的问题。在 python 中使用 format()

question related to formatting . Usage of format() in python

谁能解释一下 format() 在 python 中的工作原理?在哪里使用它,以及如何使用它?我什至不了解这个关键字

format() 方法格式化指定值并将它们插入到字符串的占位符中。

txt1 = "My name is {fname}, I'm {age}".format(fname = "John", age = 36)

如果打印 txt1,此处 fname 将替换为 John,age 将替换为 36。

或者,您可以使用 f 字符串。 例如:

fname= "John"
age= 36
print(f"My name is {fname}, I'm {age}")

即使它会打印相同的输出。

您可以将其视为一种字符串替换。

{} part in the string -> string.format() content

定义:https://www.w3schools.com/python/ref_string_format.asp

一个实际的例子可以是这样的:

base_url = 'www.xxxx.com/test?page={}'
for i in range(10):
    url = base_url.format(i)
    do sth

格式通常作为 str 类型的方法应用:txt.format(...),其中 type(txt)='str'.

此函数用于在字符串的占位符中插入值。占位符是放在字符串中的花括号 {}format() 方法 returns 是格式化的字符串,其中的值插入到字符串中。

此功能还允许以不同方式格式化不同类型的变量。例如。具有值 0.0001float 可以用浮点表示法表示:0.0001 或使用不同规格的科学表示法 1e-4

用法:

txt = "My name is {name}. I'm {age} years old."
print(txt.format(name="Dan", age=32))

将输出:'My name is Dan. I'm 32 years old.'

您也可以使用位置参数:

txt = "My name is {}. I'm {} years old."
print(txt.format("Dan", 32))

其中值是按顺序取的。 这将输出相同的结果。

要使用不同的格式进行格式化,您可以使用说明符:

txt = "Decimal numbers: {number:d}"
print(txt.format(number=8340))
txt = "Fix point numbers: {number:.2f}"
print(txt.format(number=3.1415))

还有其他说明符具有其他格式化行为,例如将某些值居中以匹配某些所需宽度:

txt = "{center:^20}"
print(txt.format(center='center'))

这将输出 ' center ' 正好包含 20 个字符。

您可以浏览更多格式选项here 或在许多其他资源中。