Python基础 - format 字符串格式化
发布人:shili8
发布时间:2024-10-16 00:08
阅读次数:0
**Python 基础 - format 字符串格式化**
在 Python 中,字符串格式化是指将变量或表达式插入到字符串中,以创建一个新的字符串。这种技术可以大大简化编码过程,使得代码更易读、更易维护。
**1. 使用 % 运算符**
最早的字符串格式化方法是在 Python2.x 中使用 `%` 运算符实现的。例如:
name = "John" age =30print("我的名字是 %s,年龄是 %d" % (name, age))
在这个例子中, `%s` 和 `%d` 是占位符,它们分别代表一个字符串和一个整数。在 `print()` 函数中,我们使用 `%` 运算符将变量 `name` 和 `age` 的值插入到字符串中。
**2. 使用 format() 方法**
在 Python3.x 中,推荐的字符串格式化方法是使用 `format()` 方法。例如:
name = "John" age =30print("我的名字是 {0}, 年龄是 {1}".format(name, age))
在这个例子中,我们使用 `{0}` 和 `{1}` 作为占位符,它们分别代表第一个和第二个参数。在 `format()` 方法中,我们将变量 `name` 和 `age` 的值插入到字符串中。
**3. 使用 f-strings**
Python3.6 中引入了 f-strings,这是一种更简洁的字符串格式化方法。例如:
name = "John" age =30print(f"我的名字是 {name}, 年龄是 {age}")
在这个例子中,我们使用 `f` 前缀来表示这是一个 f-string。在字符串中,我们直接使用变量名作为占位符,Python 会自动将它们的值插入到字符串中。
**4. 使用 format() 方法中的关键字参数**
我们可以使用关键字参数来指定占位符的名称。例如:
name = "John" age =30print("我的名字是 {name}, 年龄是 {age}".format(name=name, age=age))
在这个例子中,我们使用 `name` 和 `age` 作为关键字参数,它们分别对应于 `{name}` 和 `{age}` 占位符。
**5. 使用 f-strings 中的关键字参数**
我们可以使用关键字参数来指定占位符的名称。例如:
name = "John" age =30print(f"我的名字是 {name}, 年龄是 {age}")
在这个例子中,我们直接使用变量名作为占位符,Python 会自动将它们的值插入到字符串中。
**6. 使用 format() 方法中的表达式**
我们可以使用表达式来计算占位符的值。例如:
name = "John" age =30print("我的名字是 {0}, 年龄是 {1} +10".format(name, age))
在这个例子中,我们使用 `{1} +10` 作为表达式,它会将 `age` 的值加上10。
**7. 使用 f-strings 中的表达式**
我们可以使用表达式来计算占位符的值。例如:
name = "John" age =30print(f"我的名字是 {name}, 年龄是 {age +10}")
在这个例子中,我们直接使用变量名和表达式作为占位符,Python 会自动将它们的值插入到字符串中。
**8. 使用 format() 方法中的函数**
我们可以使用函数来计算占位符的值。例如:
def get_age(name): return30name = "John" print("我的名字是 {0}, 年龄是 {1}".format(name, get_age(name)))
在这个例子中,我们定义了一个 `get_age()` 函数,它返回 `age` 的值。我们使用 `{1}` 作为占位符,Python 会自动将函数的返回值插入到字符串中。
**9. 使用 f-strings 中的函数**
我们可以使用函数来计算占位符的值。例如:
def get_age(name): return30name = "John" print(f"我的名字是 {name}, 年龄是 {get_age(name)}")
在这个例子中,我们直接使用变量名和函数作为占位符,Python 会自动将它们的值插入到字符串中。
**10. 使用 format() 方法中的列表**
我们可以使用列表来指定多个占位符。例如:
name = "John" age =30print("我的名字是 {0}, 年龄是 {1}".format([name, age]))
在这个例子中,我们将 `name` 和 `age` 的值作为列表传递给 `format()` 方法。
**11. 使用 f-strings 中的列表**
我们可以使用列表来指定多个占位符。例如:
name = "John" age =30print(f"我的名字是 {name}, 年龄是 {age}")
在这个例子中,我们直接使用变量名作为占位符,Python 会自动将它们的值插入到字符串中。
**12. 使用 format() 方法中的字典**
我们可以使用字典来指定多个占位符。例如:
name = "John" age =30print("我的名字是 {0[name]}, 年龄是 {0[age]}" .format({"name": name, "age": age}))
在这个例子中,我们将 `name` 和 `age` 的值作为字典传递给 `format()` 方法。
**13. 使用 f-strings 中的字典**
我们可以使用字典来指定多个占位符。例如:
name = "John" age =30print(f"我的名字是 {name}, 年龄是 {age}")
在这个例子中,我们直接使用变量名作为占位符,Python 会自动将它们的值插入到字符串中。
**14. 使用 format() 方法中的元组**
我们可以使用元组来指定多个占位符。例如:
name = "John" age =30print("我的名字是 {0[0]}, 年龄是 {0[1]}" .format((name, age)))
在这个例子中,我们将 `name` 和 `age` 的值作为元组传递给 `format()` 方法。
**15. 使用 f-strings 中的元组**
我们可以使用元组来指定多个占位符。例如:
name = "John" age =30print(f"我的名字是 {name}, 年龄是 {age}")
在这个例子中,我们直接使用变量名作为占位符,Python 会自动将它们的值插入到字符串中。
**16. 使用 format() 方法中的集合**
我们可以使用集合来指定多个占位符。例如:
name = "John" age =30print("我的名字是 {0[name]}, 年龄是 {0[age]}" .format({"name": name, "age": age}))
在这个例子中,我们将 `name` 和 `age` 的值作为集合传递给 `format()` 方法。
**17. 使用 f-strings 中的集合**
我们可以使用集合来指定多个占位符。例如:
name = "John" age =30print(f"我的名字是 {name}, 年龄是 {age}")
在这个例子中,我们直接使用变量名作为占位符,Python 会自动将它们的值插入到字符串中。
**18. 使用 format() 方法中的迭代器**
我们可以使用迭代器来指定多个占位符。例如:
name = "John" age =30print("我的名字是 {0[name]}, 年龄是 {0[age]}" .format({"name": name, "age": age}))
在这个例子中,我们将 `name` 和 `age` 的值作为迭代器传递给 `format()` 方法。
**19. 使用 f-strings 中的迭代器**
我们可以使用迭代器来指定多个占位符。例如:
name = "John" age =30print(f"我的名字是 {name}, 年龄是 {age}")
在这个例子中,我们直接使用变量名作为占位符,Python 会自动将它们的值插入到字符串中。
**20. 使用 format() 方法中的生成器**
我们可以使用生成器来指定多个占位符。例如:
name = "John" age =30print("我的名字是 {0[name]}, 年龄是 {0[age]}" .format({"name": name, "age": age}))
在这个例子中,我们将 `name` 和 `age` 的值作为生成器传