自 python 2.6 开始,新增了一种格式化字符串的函数str.format(),可谓威力十足。那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱。
#语法
它通过{}:来代替%

位置

'{0},{1}'.format('kzc',18) # kzc,18
'{},{}'.format('kzc',18) # kzc,18
'{1},{0},{1}'.format('kzc',18) # 18,kzc,18

字符串的 format 函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。

参数名

'{name}, {age}'.format(age=18,name='kzc')  # 'kzc, 18'

对象属性

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'

对象下标

arg_arr = ["kevin", 26]
msg = "name: {0[0]}, age: {0[1]}".format(arg_arr) #name: kevin, age: 26

有了这些便捷的“映射”方式,我们就有了偷懒利器。基本的 python 知识告诉我们,list 和 tuple 可以通过“打散”成普通参数给函数,而 dict 可以打散成关键字参数给函数(通过和 * )。所以可以轻松的传个 list/tuple/dict 给 format 函数。非常灵活。

格式限定符

它有着丰富的的“格式限定符”(语法是{}中带:号),比如:

填充与对齐

填充常跟对齐一起使用
对齐
< (默认)左对齐
> 右对齐
^ 中间对齐
= (只用于数字)在小数点后进行补齐
填充
: 后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

'{:>8}'.format('')  # '   189'
'{:0>8}'.format('') #
'{:a>8}'.format('') # aaaaa189

精度与类型f

精度常跟类型f一起使用

'{:.2f}'.format(321.33345)  # 321.33

其中 .2 表示长度为 2 的精度,f 表示 float 类型。

进制

bdox分别是二进制、十进制、八进制、十六进制。

'{:b}'.format(17) #
'{:d}'.format(17) #
'{:o}'.format(17) #
'{:x}'.format(17) #

,号还能用来做金额的千位分隔符。

'{:,}'.format(1234567890) # 1,234,567,890

数据类型

b:二进制。将数字以2为基数进行输出。
c:字符。在打印之前将整数转换成对应的Unicode字符串。
d:十进制整数。将数字以10为基数进行输出。
o:八进制。将数字以8为基数进行输出。
x:十六进制。将数字以16为基数进行输出,9以上的位数用小写字母。
e:幂符号。用科学计数法打印数字。用’e’表示幂。
g:一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印。
n:数字。当值为整数时和’d’相同,值为浮点数时和’g’相同。不同的是它会根据区域设置插入数字分隔符。
%:百分数。将数值乘以100然后以fixed-point(‘f’)格式打印,值后面会有一个百分号。

转:https://blog.csdn.net/lpw_cn/article/details/84559705

python format(格式化)的更多相关文章

  1. 【387】Python format 格式化函数

    参考:Python format 格式化函数 # 保留小数点后两位 f'{3.1415926:.2f}' # 带符号保留小数点后两位 f'{3.1415926:+.2f}' f'{-1:+.2f}' ...

  2. Python format 格式化函数。

    Python format 格式化函数  Python 字符串 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 ...

  3. python format格式化函数用法

    python format格式化函数用法 原文 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前 ...

  4. 【Python】Python format 格式化函数(转帖)

    https://www.runoob.com/python/att-string-format.html Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符 ...

  5. Python format格式化函数

    参考资料:https://www.runoob.com/python/att-string-format.html 在学习Python的时候碰到了一个很有趣的格式化输入的技巧,下面记录在此. Pyth ...

  6. Python format格式化时使用‘’{‘’或者‘’}‘’

    用format格式化时,如果其中要用到‘’{‘’或者‘’}‘’,需要进行转义,否则报错 {{  ,}}使用同样的符号实现转义,而不是‘/’

  7. Python format 格式化函数

    str.format() 格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % format 函数可以接受不限个参数,位置可以不按 ...

  8. python format格式化字符串

    自python2.6开始,新增了一种格式化字符串的函数str.format() 语法 它通过{}和:来代替%. “映射”示例 通过位置 In [1]: '{0},{1}'.format('kzc',1 ...

  9. Python format格式化输出

    http://www.jb51.net/article/63672.htm 推荐参考 >>> '{0},{1}'.format('hello','python') 'hello,py ...

随机推荐

  1. python3之platform模块

    platform模块可以获取操作系统的相关信息. >>> platform.system() #获取系统名称 'Linux' >>> platform.archit ...

  2. FL Studio中音频ASIO4ALL的设置

    上期我们讲解了FL Studio中音频的相关设置,今天我们来进一步讲解音频设置中的ASIO4ALL的设置,FL Studio安装包括FL Studio ASIO和第三方ASIO驱动程序ASIO4ALL ...

  3. 国内环境安装k8s

    环境准备 1. 配置/etc/hosts文件,将所有机器配置成通过主机名可以访问. 2. 如果环境中有代理,请一定要在环境变量中将no_proxy配置正确. 3.  master还需要执行下面的命令 ...

  4. python笔记--异常处理

    Python异常处理 常见异常 AttributeError:属性错误,特性引用和赋值失败时会引发属性错误 NameError:试图访问的变量名不存在 SyntaxError:语法错误,代码形式错误 ...

  5. vue安装过后遇到的坑

    vue在所有配置文件安装过之后: 运行 npm run dev 不能自动打开浏览器,但是命令行中已经提示我们运行成功了 等很久也没有自动打开浏览器,必须要自己手动的输入地址. 那么我们如何在npm r ...

  6. Linux 之CentOS7-VSFTP搭建

    环境 1.俩台Linux 虚拟机 Ser 和 Cli 安装 [root@jm ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-10.el7.x86_64.rpm   / ...

  7. Kotlin 类和对象

    类定义 Kotlin 类可以包含:构造函数和初始化代码块.函数.属性.内部类.对象声明. Kotlin 中使用关键字 class 声明类,后面紧跟类名: class Runoob { // 类名为 R ...

  8. 网站性能测试工具 webbench 的安装和使用

    1.webbench的下载和安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz sudo tar xvf we ...

  9. PowerDesigner概念(概念数据模型概述)

  10. vjson.hpp

    //vov #ifndef VJSON_HPP #define VJSON_HPP #include <iostream> #include <string> #include ...