欢迎访问宙启技术站
智能推送

format()函数进行字符串格式化的用法

发布时间:2023-06-13 14:51:50

在Python中,要将一个字符串格式化为另一个字符串,可以使用字符串的format()方法。format()可以接受任意数量的参数,这些参数可以是字符串、数字、布尔值等类型。在format()方法中,使用花括号“{}”来代替要格式化的变量,花括号中的数字或名称是这些变量的 标识符。下面我们来详细介绍一下format()函数的用法。

1.基本用法

格式化字符串的基本用法是在字符串中使用一个或多个花括号,并在调用format()方法时传递值。例如:

str = "I am {} years old"
print(str.format(18))

输出结果为:“I am 18 years old”。在这个例子中,format()方法使用18对花括号进行了替换。

2.带标识符的基本用法

在format()方法的参数中,可以对每个参数用标识符进行命名,然后在字符串中使用这些命名来标识要格式化的值。例如:

str = "My name is {name}, I am {age} years old"
print(str.format(name = "Tom", age = 18))

输出结果为:“My name is Tom, I am 18 years old”。在这个例子中,format()方法中的参数分别被命名为“name”和“age”,然后在字符串中用这些命名来代替花括号。

3.带格式化符号的用法

在使用format()方法时,可以在花括号中指定格式化符号来格式化要输出的值。例如,可以使用“{:.3f}”来将浮点数格式化为小数点后三位的浮点数。以下是一些格式化符号的例子:

- 整数:此格式化符号将格式化整数。

| 格式化符号 | 描述 |

| ---------- | ----------------------- |

| d | 将整数格式化为十进制整数 |

| b | 将整数格式化为二进制整数 |

| o | 将整数格式化为八进制整数 |

| x | 将整数格式化为十六进制整数(小写字母) |

| X | 将整数格式化为十六进制整数(大写字母) |

例如:

num = 10
print("num = {}, binary = {:b}, octal = {:o}, hex = {:X}".format(num, num, num, num))

输出结果为:“num = 10, binary = 1010, octal = 12, hex = A”。

- 浮点数:此格式化符号将格式化浮点数。

| 格式化符号 | 描述 |

| ---------- | ------------------ |

| f | 将浮点数格式化为小数 |

| e | 将浮点数格式化为科学计数法 |

| E | 将浮点数格式化为科学计数法(大写字母) |

| % | 将浮点数格式化为百分比 |

例如:

a = 2.145556
b = 98765.4321
print("a = {:.2f}, b = {:.3e}".format(a, b))

输出结果为:“a = 2.15, b = 9.877e+04”。

4.使用位置参数的用法

在使用format()方法时,可以使用位置参数来指定要格式化的值。例如:

str = "I like {}, {} and {}"
print(str.format("apple", "pear", "banana"))

输出结果为:“I like apple, pear and banana”。在这个例子中,花括号中没有标识符,所以format()方法使用参数的位置来进行格式化。

5.使用名称参数和位置参数的混合用法

在使用format()方法时,可以同时使用名称参数和位置参数来指定要格式化的值。例如:

str = "My name is {0}, and I am {age} years old. I like {1} and {fruit}."
print(str.format("Tom", "yoga", age=18, fruit="apple"))

输出结果为:“My name is Tom, and I am 18 years old. I like yoga and apple.”在这个例子中,花括号中的“0”表示 个位置参数,花括号中的“age”和“fruit”表示名称参数。

6.使用字典作为参数的用法

在使用format()方法时,可以将字典作为参数传递给它。然后在字符串中使用字典键来标识要格式化的值。例如:

user_info = {"name": "Tom", "age": 18}
str = "My name is {name}, and I am {age} years old."
print(str.format(**user_info))

输出结果为:“My name is Tom, and I am 18 years old.”在这个例子中,format()方法使用“**”操作符来扩展字典,这样元素就可以被按名称引用。

总之,format()方法是Python中一种非常强大的字符串格式化方法。通过它,我们可以轻松地将变量嵌入到格式化字符串中,并将它们进行格式化。熟练掌握format()方法可以让我们在编写Python程序时更轻松、方便地进行字符串格式化。