python利用format进行格式化打印

使用python进行输出打印的时候,很多朋友还是使用百分号,但是其实还有一个更简洁的方式,就是字符串的format方法。

基本使用

基本格式如下

'xx{}xx{}'.format(a,b)

一个包含大括号的字符串,通过调用format方法,将传递的参数按顺序分别填充到大括号处

来看几个例子。

首先定义几个数据

if __name__ == '__main__':
    a=[11,13,15,17,19]
    b={
   
   'name':'xiaofu','age':99,'language':'python'}
    c='Hello'
    d=234
    name='xiaofu'

然后用上面的格式试着打印点东西

print('My name is {}, no. {}'.format(name,d))

结果如下

My name is xiaofu, no. 234

如果传递的参数超过大括号个数,只会传递靠前的

 print('My name is {}, no. {}'.format(name,d,c))

打印结果和上面一样。

但是如果传递的参数少于大括号个数,就会报错

当然,按照顺序去对应有点太麻烦,所以还可以在大括号内用数字指定参数的下标(从0开始)

print('My name is {1}, no. {0}'.format(d, name))

此时的{0}代表d,而{1}代表name,所以打印结果也同样为

My name is xiaofu, no. 234

并且,同一个下标可以多次引用

Python 中,`str.format()` 是一种比百分号 `%` 更强大、更灵活的字符串格式化方法。它通过 `{}` 作为占位符,并调用字符串的 `.format()` 方法来填充内容。 --- ### 基本语法 ```python "模板字符串".format(值1, 值2, ...) ``` --- ### 1. 基础用法:按位置填充 ```python "我叫{},今年{}岁".format("小明", 18) ``` 输出: ``` 我叫小明,今年18岁 ``` > `{}` 按顺序接收 `.format()` 中的参数。 --- ### 2. 使用索引指定顺序 ```python "{1}喜欢吃{0}".format("苹果", "小华") ``` 输出: ``` 小华喜欢吃苹果 ``` > `{0}` 对应第一个参数,`{1}` 对应第二个。 --- ### 3. 使用命名参数(推荐,可读性强) ```python "姓名:{name},成绩:{score:.1f}分".format(name="张三", score=87.65) ``` 输出: ``` 姓名:张三,成绩:87.6分 ``` > 支持变量名和格式控制结合,提升代码清晰度。 --- ### 4. 格式控制(小数、宽度、对齐等) | 控制类型 | 写法示例 | 说明 | |----------------|----------------------|------| | 保留 n 位小数 | `{:.2f}` | 浮点数保留两位小数 | | 指定最小宽度 | `{:<10}` 或 `{:^10}` | 左对齐或居中,总宽10 | | 补零填充 | `{:05}` | 不足5位前面补0 | #### 示例: ```python "{: <10}".format("左对齐") # → '左对齐 ' "{:^10}".format("居中") # → ' 居中 ' "{:>10}".format("右对齐") # → ' 右对齐' "{:05d}".format(7) # → '00007' "{:.2f}".format(3.1415926) # → '3.14' ``` --- ### 5. 格式化数字(千分位、百分数等) ```python "{:,}".format(1000000) # 添加千分位 → '1,000,000' "{:.1%}".format(0.875) # 百分数,保留一位小数 → '87.5%' "{:.2e}".format(12345) # 科学计数法 → '1.23e+04' ``` --- ### 6. 结合字典使用(安全且清晰) ```python data = {"name": "李四", "age": 20} "我是{name},{age}岁了".format(**data) ``` > 使用 `**data` 解包字典,适用于配置类数据。 --- ### 知识点(列出该主题涉及的核心知识点) - **占位符与参数绑定机制** 使用 `{}` 和 `.format()` 实现动态插入,支持位置和名称引用。 - **格式规范语法(format specification)** 在 `{}` 内使用 `:` 后接格式码控制输出样式,如精度、对齐、进制等。 - **可读性与安全性优势** 相比 `%`,`format` 更易读,不易出错,尤其适合复杂格式组合。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值