Python中的format()
函数用于格式化字符串。它可以将不同类型的数据格式化为字符串中指定的格式。以下是format()
函数的各种用法及示例:
"{<参数序号>:<格式控制标记>}".format()
格式内容:
<.精度>-后面可以加<类型>
<类型>
整数类型:b--2进制、c--Unicode、d--十进制、o--八进制、x/X--十六进制
浮点数类型:
- e/E--以科学计数法的形式输出浮点数
- f--以浮点数的形式输出浮点数。默认情况下,会输出小数点后面六位数字,但是可以通过指定精度来控制输出的位数
-
%
:--以百分数的形式输出浮点数,乘以100并在末尾加上百分号。 -
s--
输出字符串 -
r--
输出字符串的repr()
形式(原始字符串)
1、位置参数
这是最基本的用法,可以将格式化字符串中的占位符{}
替换为相应的位置参数。
name = "John"
age = 30
print("My name is {} and I am {} years old.".format(name, age))
# 输出:My name is John and I am 30 years old.
2、命名参数
可以使用命名参数来指定占位符的值,这样可以使代码更易读
print("My name is {name} and I am {age} years old.".format(name="John", age=30))
# 输出:My name is John and I am 30 years old.
3、位置参数与命名参数的混合使用
位置参数和命名参数可以混合使用,但是位置参数必须在前面。
print("My name is {0} and I am {1} years old. My hobby is {hobby}.".format("John", 30, hobby="swimming"))
# 输出:My name is John and I am 30 years old. My hobby is swimming.
4、使用字典格式化字符串
可以使用字典的键值对来格式化字符串,使用{}
包含键名,键名在format()
函数中指定。
person = {'name': 'John', 'age': 30}
print("My name is {name} and I am {age} years old.".format(**person))
# 输出:My name is John and I am 30 years old.
5、格式化数字
可以使用占位符指定数字的格式,例如{:d}
表示整数,{:f}
表示浮点数。
num = 3.14159
print("The value of pi is approximately {:.2f}.".format(num))
# 输出:The value of pi is approximately 3.14.
6、格式化时间
可以使用strftime()
函数指定时间的格式,然后在格式化字符串中使用占位符替换时间。
from datetime import datetime
now = datetime.now()
print("Today is {:%Y-%m-%d %H:%M:%S}.".format(now))
# 输出:Today is 2023-04-19 18:30:00.
7、使用格式字符串语法
Python 3.6及以上版本支持使用f-strings(格式化字符串字面值)来格式化字符串,用法比较简单,直接在字符串前面加上字母“f”,然后使用花括号{}包含变量名。
name = "John"
age = 30
print(f"My name is {name} and I am {age} years old.")
# 输出:My name is John and I am 30 years old.
8、格式化二进制、八进制和十六进制数字
可以使用占位符指定数字的进制,例如{:b}
表示二进制,{:o}
表示八进制,{:x}
表示十六进制。
num = 42
print("The binary representation of 42 is {:b}.".format(num))
# 输出:The binary representation of 42 is 101010.
print("The octal representation of 42 is {:o}.".format(num))
# 输出:The octal representation of 42 is 52.
print("The hexadecimal representation of 42 is {:x}.".format(num))
# 输出:The hexadecimal representation of 42 is 2a.
9.格式化货币
可以使用占位符指定货币符号和小数点的位置,例如{:,.2f}
表示保留两位小数,以逗号分隔千位,使用美元符号。
price = 123456.789
print("The price is ${:,.2f}.".format(price))
# 输出:The price is $123,456.79.
10、格式化百分比
可以使用占位符将小数转换为百分比,例如{:.2%}
表示保留两位小数,乘以100并添加百分号。
ratio = 0.5678
print("The ratio is {:.2%}.".format(ratio))
# 输出:The ratio is 56.78%.
11、当需要控制字符串的宽度时,可以使用占位符指定输出的字符宽度
name = "Alice"
print("Hello, {:10}!".format(name))
# 输出:Hello, Alice !
print("Hello, {:^10}!".format(name))
# 输出:Hello, Alice !
print("Hello, {:<10}!".format(name))
# 输出:Hello, Alice !
print("Hello, {:>10}!".format(name))
# 输出:Hello, Alice!
12、如果要将字符长度作为变量传递给格式化字符串的宽度字段,可以使用f-string(格式化字符串字面值)。文章来源:https://www.toymoban.com/news/detail-471350.html
width = 10
i = 42
formatted_string = f"{i:^{width}}"
print(formatted_string)
或者文章来源地址https://www.toymoban.com/news/detail-471350.html
width = 10
i = 42
formatted_string = "{:^{}}".format(i, width)
print(formatted_string)
到了这里,关于format()函数的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!