- 从Excel到Python:用Python轻松处理Excel数据
- 曾贤志
- 756字
- 2021-03-04 19:45:51
1.14 格式化字符串
在Python 中,经常会对各种对象进行格式化处理。本节将使用format 函数格式化指定的值,并将其插入字符串的占位符内。
1.14.1 使用位置和关键字格式化字符串
在使用format 函数进行格式化时,使用花括号{}定义占位符,下面代码的返回值均为 “恭喜曾贤志获得100 分。” 案例代码如下,代码在 “Chapter-1-30.py” 文件中。
![img](https://epubservercos.yuewen.com/6EC4D6/19391578208687606/epubprivate/OEBPS/Images/txt001_68.jpg?sign=1739136443-b9UT9MaJPlJIL0x7npuc0dcfM5cVA2aH-0-6393d65311e2cb1e027298f5d34740e3)
![img](https://epubservercos.yuewen.com/6EC4D6/19391578208687606/epubprivate/OEBPS/Images/txt001_69.jpg?sign=1739136443-r9enth1nwgRxiNIlygl3b8jzpsU3e8NW-0-903ed3c21357e14359c2e05e2a5fc52b)
第2 行代码print('恭喜{}获得{}分。'.format('曾贤志',100)),按默认顺序获取format函数中的数据。其中,第1 个{}获取'曾贤志',第2 个{}获取100。
第3 行代码print('恭喜{0}获得{1}分。'.format('曾贤志',100)),按指定顺序获取format 函数中的数据。其中,第1 个{0}获取'曾贤志',第2 个{1}获取100。指定顺序可以由用户任意排列,比如print('{1}分,由{0}获得。'.format('曾贤志',100))。
第6 行代码print('恭喜{name}获得{score}分。'.format(name='曾贤志',score=100)),按指定名称获取format 函数中的数据。其中,{name}获取'曾贤志',{score}获取100。
1.14.2 数字格式设置
数字格式设置是常用设置,对数字格式化后返回的结果是字符串型数字。案例代码如下,代码在 “Chapter-1-31.py” 文件中。
![img](https://epubservercos.yuewen.com/6EC4D6/19391578208687606/epubprivate/OEBPS/Images/txt001_70.jpg?sign=1739136443-rpayqi6Ra2tevjD4nAroQbKo7nRO5388-0-e6bc2c3415759a306da15934b1cf058f)
● :表示要设置的值。
● .2 表示保留小数点后两位数。
● f 表示返回浮点数,也就是小数。
● %表示设置成百分比格式。
1.14.3 对齐设置
对齐设置是常用的格式化字符串的方式。案例代码如下,代码在“Chapter-1-32.py” 文件中。
![img](https://epubservercos.yuewen.com/6EC4D6/19391578208687606/epubprivate/OEBPS/Images/txt001_71.jpg?sign=1739136443-zlm0EmFxmWgqM7EvCHr5PhXTgjvLpEY2-0-cc27d448d0761ec14db581636c7dd021)
● <表示左对齐。
● >表示右对齐。
● ^表示居中对齐。
其中,第1 行代码print('|{:<10}|'.format('曾贤志')),表示对 “曾贤志” 进行左对齐设置,字符串总长度为10,如果不足10 个字符,则默认用空格填充。
当然,也可以用指定字符填充。比如,第2 行代码print('|{:□<10}|'.format('曾贤志')),表示如果字符不足,则用 “□” 来填充。其他行的对齐方式规则相同,不再赘述。
如图1-35 所示是 “Chapter-1-32.py” 文件中对每行代码进行对齐格式化后的返回结果。
![img](https://epubservercos.yuewen.com/6EC4D6/19391578208687606/epubprivate/OEBPS/Images/txt001_72.jpg?sign=1739136443-0ozQQs1ZAOGhCqf0O2HFBnD8eDJQd4Bh-0-0aa6e027c7aa77599536d3ec8a6abe8f)
图1-35 对齐格式化后的返回结果