python 之format字符串格式化
print函数之format字符串格式化方法的使用与学习笔记。
一、映射关系
(1)“映射”示例,以下通过位置举例说明:
[+]Example_1:
>>> print("{0}:{1}".format('name','age'))
name:age
[+]Example_2:
>>> print("{}:{}".format("name","age"))
name:age
[+]Example_3:
>>> print("{0}:{1}:{0}".format("name","age"))
name:age:name
字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。
(2)通过关键字参数格式化
>>> print("{name}:{age}".format(age=18,name="Michael"))
Michael:18
(3)通过对象属性
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)
In [2]: str(Person('kzc',18))
Out[2]: 'This guy is kzc,is 18 old'
(4)通过format实现列表的字符串化
>>> name = ['Jack','Michael']
>>> print("{0[1]},{0[0]}".format(name))
Michael,Jack
有了以上这些便捷的“映射”方式,我们就有了的格式化利器。
基本的Python知识告诉我们,list和tuple可以通过“打散”成普通参数给函数,而dict可以打散成关键字参数给函数(通过和*)。所以可以轻松的传个list/tuple/dict给format函数。非常灵活。
二、格式限定符
format格式化,它有着丰富的的“格式限定符”(语法是{}中带:号),
比如“:”、“填充与对齐”、“填充常跟对齐一起使用”;
^、<、>分别是居中、左对齐、右对齐,后面为“限定宽度”;
注意:“:”冒号后面紧跟填充的字符,只能是一个字符;不指定的话,默认是用空格填充
比如
(1)居左、居中,居右显示
>>> print("####{:<}####".format("ABCD")) #居左显示,右边空出4个字符(填充字符默认为空格)
####ABCD ####
>>> print("####{:^8}####".format("ABCD"))
#### ABCD #### #居中显示,左右两边各空出2个字符(填充字符默认为空格)
>>> print("####{:>8}####".format("ABCD"))
#### ABCD#### #右居显示,左边空出4个字符(填充字符默认为空格)
>>>
(2) 使用填充字符“+”举例“居左、居中,居右”显示
>>> print("####{:+>8}####".format("ABCD"))
####++++ABCD####
>>> print("####{:+^8}####".format("ABCD"))
####++ABCD++####
>>> print("####{:+<}####".format("ABCD"))
####ABCD++++####
(3)精度与类型f结合使用:
>>> print("{:.3f}".format(3.1415126))
3.142
注:其中.3表示长度为3的精度,f表示float类型。
(4)其他类型
主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。
>>> print("{:b}".format(123456))
11110001001000000
>>> print("{:d}".format(123456))
123456
>>> print("{:o}".format(123456))
361100
>>> print("{:x}".format(123456))
1e240
(5)用“,”号作为金额的千位分隔符的格式化。
>>> print("{:,}".format(123e10))
1,230,000,000,000.0
摘了之:http://blog.csdn.net/handsomekang/article/details/9183303
python 之format字符串格式化的更多相关文章
- Python之format字符串格式化
1.字符串连接 >>> a = 'My name is ' + 'Suen' >>> a 'My name is Suen' >>> a = 'M ...
- Python中用format函数格式化字符串的用法
这篇文章主要介绍了Python中用format函数格式化字符串的用法,格式化字符串是Python学习当中的基础知识,本文主要针对Python2.7.x版本,需要的朋友可以参考下 自python2. ...
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- 第3.11节 Python强大的字符串格式化新功能:format字符串格式化的格式控制
第3.11节 format字符串格式化的格式控制 一. 引言 上节介绍了四种format进行字符串格式化的 ...
- 第3.10节 Python强大的字符串格式化新功能:使用format字符串格式化
一. 引言 前面两节介绍的字符串格式化方法,都有其本身对应的缺陷,老猿不建议大家使用,之所以详细介绍主要是考虑历史代码的兼容性,方便大家理解前人留下的代码.老猿推荐大家新编码时使用format方 ...
- Python中format_map与format字符串格式化的区别
在Python3中使用format和format_map方法都可以进行字符串格式化,但format是一种所有情况都能使用的格式化方法,format_map仅使用于字符串格式中可变数据参数来源于字典等映 ...
- python 中的字符串格式化
python 中的字符串格式化 %方式的调用 1.格式化代码 代码 意义 s 字符串,使用str r 字符串,使用repr不使用str c 字符 d 十进制的数字 i 整数 u 无符号整数 o 八进制 ...
- string.Format字符串格式化说明(转)
string.Format字符串格式化说明 www.111cn.net 编辑:Crese 来源:转载 先举几个简单的应用案例: 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统 ...
- Python中用format函数格式化字符串
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 1.百分号方式 语法:%[( ...
随机推荐
- Hibernate Session的delete()方法
本文介绍Hibernate Session的delete()方法.delete()方法用于从数据库中删除与Java对象对应的记录.对应游离对象和持久化对象,delete语句会做出不同的反应. AD: ...
- 使用VSTO写的一个工作证打印软件
转行做HR近2年.最近公司要做工牌,工牌上要打印照片,姓名,工号和部门等信息.一共1000多人,如果手工排版手工打印的话,估计要死人. 于是coding的老毛病又犯了,想写个程序来打印工牌.还是拿最近 ...
- EIP权限工作流升级说明-2019/5/23
增加mysql版本在线预览地址:http://www.eipflow.com:3000/
- 使用ffmpeg编码时,如何设置恒定码率,并控制好关键帧I帧间隔
1. 大家在使用ffmpeg进行视频编码时,使用-b命令,想控制比特率,却发现结果并没有如我们设置所愿,通过码流分析器观察视频码流,码率的波动还是很大的,ffmpeg控制的并不好,这时候,我们可以通过 ...
- 关于/proc/cpuinfo文件
以上输出项的含义如下: processor :系统中逻辑处理核的编号.对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核.或者使用超线程技术虚拟的逻辑核 vendor_id :CPU ...
- 简述RadioGroup和RadioButton的使用
简述RadioGroup和RadioButton的使用 在项目中有身份选择的选项,需要用到RadioGroup和RadioButton,这里做个记录,和大家交流一下. 话不多说,一起看代码 XML代码 ...
- Python学习笔记(异常处理)
用户输入了一个不合规定的值,或者需要打开的文件不存在.这些情况被称作“异常”,一个好的程序需要能处理可能发生的异常,避免程序因此而中断. 例如我们去打开一个文件: f = file('non-exis ...
- NetCore + Mysql + EF:No coercion operator is defined between types 'System.Int16' and 'System.Boolean',
总结三种解决办法: 1.Mysql升级到7 2.Nuget安装Pomelo.EntityFrameworkCore.MySql 2.2.0替代MySql.Data.EntityFrameworkCor ...
- 洛谷P2169 正则表达式
题目背景 小\(Z\)童鞋一日意外的看到小\(X\)写了一个正则表达式的高级程序,这个正则表达式程序仅仅由字符"\(0\)","\(1\)","\(. ...
- php删除文件
unlink() 函数删除文件. 若成功,则返回 true,失败则返回 false. unlink里的参数需要文件的绝对路径