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.百分号方式 语法:%[( ...
随机推荐
- jquery 插件 国外
http://www.jqueryrain.com/demo/jquery-portfolio-gallery-plugin/
- Weblogic学习
1.WebLogic目录介绍: coherence:集群组件 modules:第三方的模块包 user_projects:存放域的文件夹(必须要创建域) utils 工具包 uninstall ...
- wpf Datagrid 的全选
在我的一个datagrid的一列中需要全选框,所以我在样式中是这样写的: <DataGridTemplateColumn.Header> <CheckBox> <i:In ...
- JAVA之BigInteger(转)【转】【很好用啊】
用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂.用Java刷了一些题,感觉Java还不错,在处理高精度和进制转换中,调用库函数的来处理.下面是写的一些Java中 ...
- celery和supervisor配合使用,实现supervisor管理celery进程
在这里我选择redis作为celery异步任务的中间人,系统选择CentOS6.5 64位.redis.celery和supervisor的安装参见官方文档. 安装完毕后: 1, 创建celery的实 ...
- Mysql多列索引经典案例
一个经典的多列索引案例,如题: 假设某个表有一个联合索引(c1,c2,c3,c4)一下--只能使用该联合索引的 c1,c2,c3 部分 Awhere c1=x and c2=x and c4>x ...
- IIS 中的虚拟目录 和软连接
在WIndows 中 可以这样设置 mklink /D C:\bb C:\cc 这样 bb 就指向 CC了 bb 在IIS中的目录其实就是虚拟目录 .这样大的文件就不用存放在IIS中了,可以放在其他 ...
- 存储过程接收JSON格式数据
前端有可能一次性上传多笔记录,并使用JSON序列化. 现在在MS SQL Server 2016版本上,可以直接处理JSO数据. 如下面的前端序列化的数据: DECLARE @json_string ...
- codevs2924 数独挑战
2924 数独挑战 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description "芬兰数学家因卡拉,花费3个月时间设计出了世界 ...
- ADO学途 one day
博主在第一个demo的困苦中,略得一些见解,需要的伙伴可以get下 刚开始先创建一个程序的前端,这样对自己要实现的功能有一个直观的了解.分三 步:首先1.创建一个windows窗体.拖控件使程序接近真 ...