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字符串格式化的更多相关文章

  1. Python之format字符串格式化

    1.字符串连接 >>> a = 'My name is ' + 'Suen' >>> a 'My name is Suen' >>> a = 'M ...

  2. Python中用format函数格式化字符串的用法

    这篇文章主要介绍了Python中用format函数格式化字符串的用法,格式化字符串是Python学习当中的基础知识,本文主要针对Python2.7.x版本,需要的朋友可以参考下   自python2. ...

  3. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  4. 第3.11节 Python强大的字符串格式化新功能:format字符串格式化的格式控制

                                                第3.11节 format字符串格式化的格式控制 一.    引言 上节介绍了四种format进行字符串格式化的 ...

  5. 第3.10节 Python强大的字符串格式化新功能:使用format字符串格式化

    一.    引言 前面两节介绍的字符串格式化方法,都有其本身对应的缺陷,老猿不建议大家使用,之所以详细介绍主要是考虑历史代码的兼容性,方便大家理解前人留下的代码.老猿推荐大家新编码时使用format方 ...

  6. Python中format_map与format字符串格式化的区别

    在Python3中使用format和format_map方法都可以进行字符串格式化,但format是一种所有情况都能使用的格式化方法,format_map仅使用于字符串格式中可变数据参数来源于字典等映 ...

  7. python 中的字符串格式化

    python 中的字符串格式化 %方式的调用 1.格式化代码 代码 意义 s 字符串,使用str r 字符串,使用repr不使用str c 字符 d 十进制的数字 i 整数 u 无符号整数 o 八进制 ...

  8. string.Format字符串格式化说明(转)

    string.Format字符串格式化说明 www.111cn.net 编辑:Crese 来源:转载   先举几个简单的应用案例: 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统 ...

  9. Python中用format函数格式化字符串

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. 1.百分号方式 语法:%[( ...

随机推荐

  1. phpstudy配置php7.1.11

    php7.1.11下载地址 http://windows.php.net/download/ 下载之后,解压. 重名的为php-7.1.11-nts 移动到phpStudy的php目录下 然后重启ph ...

  2. LeetCode: 371 Sum of Two Integers(easy)

    题目: Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -. ...

  3. Centos7.1下Docker的安装-yum方法

    在CentOS7上安装1. 查看系统版本: $ cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) 2. 安装docker $ y ...

  4. Java 普通方法和构造方法的区别

    构造方法: ①方法名和 类名相同 ②在方法名的前面没有返回值类型的声明 ③在方法中不能使用return语句返回一个值 ④在创建对象时,要调用new,如:book b1=new book(); ⑤当没有 ...

  5. Swoole 多协议 多端口 的应用

    目录 概述 网络通信协议设计 多端口监听的使用 小结 概述 这是关于 Swoole 学习的第五篇文章:Swoole 多协议 多端口 的应用. 第四篇:Swoole HTTP 的应用 第三篇:Swool ...

  6. 编写BeanFactory

    /** * 一个创建Bean对象的工厂 * * Bean:在计算机英语中,有可重用组件的含义. * JavaBean:用java语言编写的可重用组件. * javabean > 实体类 * * ...

  7. Codeforces Round #299 (Div. 2)【A,B,C】

    codeforces 535A-水题: #include <bits/stdc++.h> using namespace std; typedef long long LL; char s ...

  8. Python实现二叉树的前序、中序、后序、层次遍历

      有关树的理论部分描述:<数据结构与算法>-4-树与二叉树:   下面代码均基于python实现,包含: 二叉树的前序.中序.后序遍历的递归算法和非递归算法: 层次遍历: 由前序序列.中 ...

  9. vue-cli 3.0安装和使用

    零. 前言 公司最近开发项目使用的是vue-cli 3.0版本开发,但是对于vue-cli 3.0版本一直没有研究过如何使用,公司使用配置:pug + ts + stylus + eslint:编辑器 ...

  10. Unity5.5 Lighting Scene

    参考:https://docs.unity3d.com/Manual/GlobalIllumination.html Environment Lighting(环境光) Skybox: 天空盒材质,这 ...