Python String format() 举例说明
什么是 Python 字符串格式()?
Python 字符串格式() 是一个函数,用于在最终字符串中使用具有有效值的占位符替换、替换或转换字符串。它是 Python 字符串类的内置函数,将格式化的字符串作为输出返回。字符串内的占位符定义在大括号中。
例如,“Welcome to Guru99 {}”.format('value here')。
在本教程中,您将学习:
- 什么是 Python 字符串格式()?
- Python中format()函数的语法
- 字符串格式()如何工作?
- 示例:用字符串值替换空占位符
- 示例:用数值替换空占位符
- 示例:在占位符中使用变量或关键字参数
- 示例:在占位符内使用索引或位置参数
- 在占位符内格式化
- 使用带有 format() 的类
- 使用带有 format() 的字典
- 填充变量替换
Python中format()函数的语法
templatestring.format(val1, val2...)
参数
val1, val2 … : 给定模板字符串中需要替换的值,该字符串具有大括号 {} 形式的占位符。占位符可以是字符串、键值对、整数、浮点数、字符等。
返回值:
它将返回最终字符串,并用有效值替换大括号中给出的占位符。
占位符
模板字符串中的占位符使用大括号表示,例如{}。占位符可以是空的 {},或者它可以有一个变量,例如 {name} ,或者它可以有一个数字索引,例如 {0} 、 {1} 等。
字符串格式()如何工作?
Python String format() 方法将扫描原始字符串以查找占位符。占位符可以是空大括号 ({})、位置参数,即字符串可以有索引为 0、1 的占位符,例如 {0}、{1} 等。
对于关键字参数,变量名称将出现在大括号内,例如 {name}、{age}。在大括号为空的情况下,格式中的值将在大括号内依次替换。
第一个值将替换为第一个空大括号,然后是下一个。对于位置参数,索引将从 0 开始,依此类推。这些值将以逗号分隔的格式提供,并且 0 th value 将指向 format 内的第一个值,依此类推。
对于关键字参数,即当您在占位符中使用变量时,您可以根据需要在格式中设置值的顺序。
这里的顺序无关紧要,因为值将根据 format() 中存在的变量名称进行替换。下面是一些示例,说明如何在字符串中使用占位符作为空、位置以及使用关键字或变量。
示例:用字符串值替换空占位符
在下面的示例中,字符串具有空大括号 ({})。赋予格式的值将被替换在大括号 ({}) 内。
我们要替换的值是一个字符串。
示例:
在 Python 中使用字符串格式化,我们希望将大括号 ({}) 替换为字符串值。该值被赋予格式(“Guru99”)。执行时,花括号 {} 被 Guru99 替换,您将获得最终字符串,即 Welcome to Guru99 tutorials。
print ("Welcome to {} tutorials".format("Guru99"))
输出:
Welcome to Guru99 tutorials
示例:将空占位符替换为数值
在下面的示例中,我们希望在原始字符串中替换数值。大括号 ({}) 被添加到您需要数值的位置。执行时,空的大括号 ({}) 将替换为数值。
示例:
您还可以使用 format() 在字符串中插入数字。该示例将展示如何将空的 Placeholder {} 替换为 format() 中存在的数字 99。
print ("Welcome to Guru{} Tutorials".format("99"))
输出:
Welcome to Guru99 Tutorials
示例:在占位符内使用变量或关键字参数
也可以在大括号内使用变量,如下例所示。变量在 format() 中定义。因此,当它执行时,分配给变量的值会在原始字符串中被替换。
示例:
您可以在大括号内使用变量,例如 {name} {num}。name 和 num 变量的值在格式中可用,即 format(name=”Guru”, num=”99″)。赋予 name 和 num 的值将在 {name} 和 {num} 内被替换。
print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))
输出:
Welcome to Guru99 Tutorials
示例:在占位符内使用索引或位置参数
可以使用占位符内的 0、1、2 等索引替换这些值。该值将从 format() 中按顺序选取,如下例所示。
示例:
print ("Welcome to {0}{1} Tutorials".format("Guru","99"))
输出:
Welcome to Guru99 Tutorials
示例:在字符串中使用多个占位符
在本例中,我们将使用多个空占位符。
示例:
示例中使用的字符串有多个空占位符,每个占位符将引用 format() 中的一个值。第一个值将替换为第一个占位符,依此类推。
print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))
输出:
Guru99 is totally new kind of learning experience!
占位符内的格式
您已经看到可以将 Placeholder 设置为空,带有变量或索引。您也可以在占位符内应用 Python 字符串格式。
这是格式列表
格式 | 说明 | 示例 |
---|---|---|
:d | 在占位符中使用时会以十进制格式输出 | print("The binary to decimal value is : {:d}".format(0b0011)) 输出: The binary to decimal value is : 3 |
:b | 在占位符中使用时会以二进制格式输出 | print("The binary value is : {:b}".format(500)) 输出: The binary value is : 111110100 |
:e | 在占位符中使用时会以科学格式给出输出,输出中的指数e将是小写的。 | print("The scientific value is : {:e}".format(40)) 输出: The scientific format value is : 4.000000e+01 |
:E | 在占位符内使用时会给出科学格式的输出,输出中的指数E为大写 | print("The scientific value is : {:E}".format(40)) 输出: The scientific value is : 4.000000E+01 |
:f | 这将输出一个定点数格式。默认情况下,您将获得任何带六位小数的数字的输出。如果您需要最多 2 位小数,请将其用作。 2f 即 2f 前面的句点 (.) | print("The value is : {:f}".format(40)) 输出: The value is : 40.000000 示例:显示输出最多 2 位小数。
输出: The value is: 40.00 |
:o | 这将输出八进制格式 | print("The value is : {:o}".format(500)) 输出: The value is : 764 |
:x | 这将输出小写的十六进制格式 | print("The value is : {:x}".format(500)) 输出: The value is : 1f4 |
:X | 这将输出大写的十六进制格式。 | print("The value is : {:X}".format(500)) 输出: The value is : 1F4 |
:n | 这将输出数字格式。 | print("The value is : {:n}".format(500.00)) 输出: The value is : 500 |
:% | 这将以百分比格式提供输出。 默认情况下,百分比输出会给出 6 个小数位,如果您不想要任何小数值,您可以使用带 0 的句点,即 (:. 0%)。 | print("The value is : {:%}".format(0.80)) 输出: The value is : 80.000000% 这个例子展示了如何在占位符中使用 {:.0%} 来跳过小数位。
The value is: 80% |
:_ | 这将输出一个下划线作为千位分隔符。它适用于 python 3.6+。 | print("The value is {:_}".format(1000000)) 输出: The value is : 1_000_000 |
:, | 这将输出逗号作为千位分隔符 | print("The value is : {:,}".format(1000000)) 输出: The value is : 1,000,000 添加逗号(,),作为千位分隔符,如输出所示。 |
: | 这将在任何正数之前添加一个空格 | 这个例子展示了如何在给定数字之前添加空格或填充。数字 5 表示您想要在数字之前的空格数。
输出: The value is: 40 |
:- | 这将在负数之前添加一个减号 | 该示例显示了如何使用 {:-} 获取数字前带有减号 (-) 的输出。
输出: The value is: -40 |
:+ | 可以用加号表示数字为正数 | 该示例显示了如何使用 {:+} 获取数字前带有加号 (+) 的输出。
输出: The value is: +40 |
:= | 等号用于将 +/- 符号放在左侧。 | 该示例展示了如何使用 {:=} 在等号之前获取带有加号 (+/-) 的输出。
输出: The value is -40 |
:^ | 这将使最终结果居中对齐 | 示例显示使用 {:^} 将文本居中对齐。数字 10 用于添加 10 个空格,以便在替换值时显示居中对齐。
输出: The value 40 is a positive value 在这里,您可以使用 10 将在最终文本中添加 10 个空格,并且要替换的值将在 10 个空格之间居中对齐。添加 10 的空格只是为了显示替换值的中心对齐方式。 |
:> | 这将使最终结果右对齐 | 10的空格是用(:>10)加的,替换的值是右对齐的。
输出: The value 40 is positive value |
:< | 这将使最终结果左对齐 | 10的空格用(:<10)加,替换的值左对齐。
输出: The value 40 is positive value |
使用带有 format() 的类
在此示例中,我们正在创建一个类并在 .format Python 方法中使用该类的对象。占位符将使用类对象引用类属性或成员。
示例:
类在格式中被调用(c=MyClass())。对象 c 将具有对 MyClass() 类中的属性和方法的引用。
class MyClass: msg1="Guru" msg2="Tutorials" print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))
输出:
Welcome to Guru99 Tutorials!
使用带有 format() 的字典
也可以在 format() 中使用字典,如下例所示:
my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'} print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))
输出:
Welcome to Guru99 Tutorials!
填充变量替换
使用 string.format() 方法,您可以在字符串中使用占位符添加填充、空格。
示例:
在下面的示例中,将使用 format() 在占位符内添加空间。要添加空格,您必须在冒号 (:) 之后的大括号内指定空格数。所以占位符看起来像 {:5}。
print("I have {:5} dogs and {:5} cat".format(2,1))
输出:
I have 2 dogs and 1 cat
您还可以在占位符内给出索引,例如:{0:5} 其中 0 表示格式内的第一个值。
print("I have {0:5} dogs and {1:5} cat".format(2,1))
输出:
I have 2 dogs and 1 cat
总结
- Python 字符串类为我们提供了一个重要的内置命令,称为 format(),它可以帮助我们用占位符替换、替换或转换最终字符串中具有有效值的字符串。
- 字符串模块 Python 中的占位符定义在大括号中,例如,“Welcome to Guru99 {}”.format('value here')。
- 占位符可以是空的 {},或者它可以有一个变量,例如 {name} ,或者它可以有一个数字索引,例如 {0} 、 {1} 等。
- 您可以在 Python 中的占位符内使用字符串格式,这有助于添加填充、居中对齐以及数字格式。
Python
- Java String indexOf() 方法与子字符串和示例
- Java String compareTo() 方法:如何与示例一起使用
- Python Print() 语句:如何通过示例打印
- Python String strip() 函数与示例
- 带有示例的 Python 字符串计数()
- Python String find() 方法及示例
- 带有示例的 Python Lambda 函数
- 带有示例的 Python round() 函数
- 带有示例的 Python map() 函数
- Python Timeit() 与示例
- 集合中的 Python 计数器示例
- Python 中的 type() 和 isinstance() 示例