![从Excel到Python:用Python轻松处理Excel数据](https://wfqqreader-1252317822.image.myqcloud.com/cover/813/36511813/b_36511813.jpg)
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=1739303764-khFz4yXrN7QopD3VkOG0CJOJFMOIJMnr-0-a3f76235a8804716a0e919e49dbc1b27)
![img](https://epubservercos.yuewen.com/6EC4D6/19391578208687606/epubprivate/OEBPS/Images/txt001_69.jpg?sign=1739303764-i3sPyVMMmzx75ackJ1IfX23Wkixhf1fr-0-0b3f442f65963eb05431fe5ea8d00d26)
第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=1739303764-RkslMhrj7t7xJHqO0hNn6SIErw651y5C-0-a610b303511e7a6f2116726799af6451)
● :表示要设置的值。
● .2 表示保留小数点后两位数。
● f 表示返回浮点数,也就是小数。
● %表示设置成百分比格式。
1.14.3 对齐设置
对齐设置是常用的格式化字符串的方式。案例代码如下,代码在“Chapter-1-32.py” 文件中。
![img](https://epubservercos.yuewen.com/6EC4D6/19391578208687606/epubprivate/OEBPS/Images/txt001_71.jpg?sign=1739303764-53wUmJYcYhErFeKnvlXY6hxnBaOppANn-0-06ab84801b44a65f988cc6df0976d23a)
● <表示左对齐。
● >表示右对齐。
● ^表示居中对齐。
其中,第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=1739303764-eQa6y4glN9cUR3I638nYMH2XicMfKq70-0-cf805d4e655f8c62867796b0a9b1e8e5)
图1-35 对齐格式化后的返回结果