print占位符
时间: 2025-03-09 22:07:07 浏览: 31
### Python `print` 函数使用占位符
在 Python 中,可以利用多种方式来格式化字符串并打印出来。以下是几种常见的使用占位符的方法:
#### 方法一:百分号 `%` 格式化
此方法类似于 C 语言中的 printf() 函数语法。
```python
name = 'Alice'
age = 25
height = 1.734
print('Name:%s Age:%d Height:%.2f' % (name, age, height))
```
这里展示了如何混合不同类型的数据——字符串 (`%s`)、整数 (`%d`) 和浮点数 (`%.2f`, 表示保留两位小数)[^5]。
#### 方法二:str.format()
这种方法更加灵活且易于阅读,支持位置参数和关键字参数两种形式。
```python
# 使用索引编号指定顺序
print('{0} was born in {1}'.format(name, birth_year))
# 或者直接按变量名传递给 format 方法
print('{} is {} years old'.format(name=name, age=age))
```
对于重复使用的同一值作为多个占位符的内容时,可以通过命名参数或者多次提及同一个索引来实现[^2]。
#### 方法三:f-string(仅限 Python 3.6 及以上版本)
这是最简洁直观的一种方式,在反引号前加上字母 f 或 F 来启用表达式求值功能。
```python
first_name = "Bob"
last_name = "Smith"
full_name = f"{first_name} {last_name}"
print(full_name)
number_of_apples = 10
price_per_apple = 0.59
total_cost = number_of_apples * price_per_apple
message = (
f"There are {number_of_apples} apples,"
f" each costing ${price_per_apple:.2f}, "
f"for a total of ${total_cost:.2f}."
)
print(message)
```
上述例子中不仅演示了简单的数值替换,还包含了更复杂的算术运算以及自定义精度控制[^4]。
#### 错误示范纠正
针对最初提到的一些不正确的写法进行了修正如下所示:
- 正确做法应为将整个待格式化的字符串放在单个括号内,并紧跟其后的元组包含所有要插入到该字符串里的实际数据项;而不是把逗号分隔开来的两部分分别当作独立语句处理。
```python
i = 1
correct_usage_1 = ('这是第%d个句子' % i) # 当只有一个参数时也可以省略圆括号
correct_usage_2 = '这是第{}个句子'.format(i)
correct_usage_3 = f'这是第{i}个句子'
incorrect_usages = [
"print('这是第%d个句子', i)", # 不正确
"print('这是第{%d}个句子', i)", # 不正确
"print('这是第%d个句子', %i)", # 不正确
"print('这是第{%d}个句子', %i)" # 不正确
]
for usage in incorrect_usages:
try:
eval(usage)
except Exception as e:
print(f'{usage}: 抛出了异常 "{e}"')
```
阅读全文
相关推荐


















