![从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=1739192000-H5Gp9GkHh2THutbQe6oeuHPa4yJwGB34-0-670cefeb156918c636f9ed2dc2814dbf)
![img](https://epubservercos.yuewen.com/6EC4D6/19391578208687606/epubprivate/OEBPS/Images/txt001_69.jpg?sign=1739192000-GSbosMofqMCW6cTRI93LuqBxeCpH20Nt-0-77993131e370a76694accf75fea4e16a)
第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=1739192000-ZYW0AaiVHtOxCp4ZljDM99paYdjUGnux-0-94cf06d8cad096a67d2e45499799e5d7)
● :表示要设置的值。
● .2 表示保留小数点后两位数。
● f 表示返回浮点数,也就是小数。
● %表示设置成百分比格式。
1.14.3 对齐设置
对齐设置是常用的格式化字符串的方式。案例代码如下,代码在“Chapter-1-32.py” 文件中。
![img](https://epubservercos.yuewen.com/6EC4D6/19391578208687606/epubprivate/OEBPS/Images/txt001_71.jpg?sign=1739192000-TLoPIk28vj2YxXRrLjyIyELU59cTY8A8-0-8aed7565389ce0b9959c9255bffc213c)
● <表示左对齐。
● >表示右对齐。
● ^表示居中对齐。
其中,第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=1739192000-Z4KStestq6tmGQCO7xc9aWCra3joNAQT-0-6cccc64f36c9a3a7c27d286c48f6cab6)
图1-35 对齐格式化后的返回结果