博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
format格式化字符串
阅读量:6365 次
发布时间:2019-06-23

本文共 1647 字,大约阅读时间需要 5 分钟。

假如想要表达这样一条语句:李明今年十二岁

输出这样一条语句

name = 'LiMing'age = 12print( name  + 'is'  + age + 'years  old')#输出LiMing is 12

我们可以用“+”链接字符串,虽然可以简单用这种方式工作,但是如果在复杂的情况下,就显得有点牵强。不仅难懂,修改也麻烦。

因此换一种方式,用%来实现:

 
name = 'LiMing'age = 12
print('%s is %d years old')
#输出LiMing is 12

明显看出来简介明了

但是在python3中提供另一种更为简洁优雅的方式,pyhtonic的str.format()

name = 'LiMing'age = 12print(' {} is  {}  years  old'.format(name, age))#输出LiMing is 12

效果是一样的,但是str.format 既能够用于简单的场景,也能够胜任复杂的字符串替换,而无需繁琐的字符串连接操作。Python 的内置类型 str 和 unicode 均支持使用 str.format() 来格式化字符串。

详细用法

格式化字符串使用花括号 {} 来包围替换字段,也就是待替换的字符串。而未被花括号包围的字符会原封不动地出现在结果中。

使用位置索引

"{}  is  {}  years  old".format("john", "10")"{0}  is  {1}  years  old".format("john", "10")

上述两种写法是效果是一样的。

使用关键字索引

"Hello, {boy} and {girl}!".format(boy="John", girl="Mary")

通过对象属性

class Person:   def __init__(self,name,age):     self.name,self.age = name,age     def __str__(self):       return 'This guy is {self.name},is {self.age} old'.format(self=self)str(Person('kzc',18)) #输出'This guy is kzc,is 18 old'

通过下标

p=['kzc',18] #输出'{0[0]},{0[1]}'.format(p)'kzc,18'

格式限定符

 

填充与对齐

^、<、>分别是居中、左对齐、右对齐,后面带宽度

:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

In [15]: '{:>8}'.format('189')Out[15]: '   189'In [16]: '{:0>8}'.format('189')Out[16]: '00000189'In [17]: '{:a>8}'.format('189')Out[17]: 'aaaaa189'

精度

In [44]: '{:.2f}'.format(321.33345)Out[44]: '321.33'

其他

主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。用,号还能用来做金额的千位分隔符。

In [54]: '{:b}'.format(17)Out[54]: '10001'In [55]: '{:d}'.format(17)Out[55]: '17'In [56]: '{:o}'.format(17)Out[56]: '21'In [57]: '{:x}'.format(17)Out[57]: '11'In [47]: '{:,}'.format(1234567890)Out[47]: '1,234,567,890'

 

转载于:https://www.cnblogs.com/welan/p/9342164.html

你可能感兴趣的文章
postgres的\d命令不显示全部的用户表
查看>>
poj 3468 A Simple Problem with Integers
查看>>
OOA/OOD/OOP细讲
查看>>
Tomcat 系统架构与设计模式_ 设计模式分析
查看>>
程序员数学-贝叶斯公式
查看>>
PLSQL 设置快捷键 sf sc
查看>>
SQLSERVER2005的混和身份验证模式的设置以及SA登陆问题
查看>>
python中执行命令行的方法 (二)交互式
查看>>
马蜂窝 iOS App 启动治理:回归用户体验
查看>>
python项目实战:爬取链家二手房租赁信息
查看>>
RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)配置
查看>>
OSChina 周五乱弹 —— 单身汪自备血槽
查看>>
OSChina 周四乱弹——说好的年终奖呢?
查看>>
Requests库简要介绍
查看>>
找出第N小数算法
查看>>
Chapter 1 Turbo服务实战
查看>>
Spring Boot 快速入门
查看>>
相机照明对OCR文字识别软件产生的影响有哪些
查看>>
Object-C学习笔记(二)
查看>>
WMI实现远程监控多台windows服务器
查看>>