format 基本语法是通过 {} 和 : 来代替以前的 % 。

format 函数可以接受不限个参数,位置可以不按顺序。

format基本用法

"Hello?{0}?{1}".format("Chen","xin")?#?引用第一个参数

#?输出?'Hello?Chen?xin'

"{}?is?cute".format("Chen?xin")?#?引用第一个参数

#?输出?'Chen?xin?is?good'

"My?name?is?{name}".format(name="Chen?xin")?#?引用名字为name的参数

#?输出?'My?name?is?Chen?xin'

1. 类型转换

!s

!r

"Chen?xin?is?a?cute?{!s}".format("baby")?#?!s?相当于对于参数调用str()

#?输出?'Peppa?pig?is?a?cute?baby'

"Chen?xin?is?a?cute?{!r}".format("baby")?#?!r?相当于对于参数调用repr()

#?输出?"Peppa?pig?is?a?cute?'baby'"

2. 通过位置来填充字符串

print('{0},?{1},?{2}'.format('a',?'b',?'c'))??#?a,?b,?c

print('{},?{},?{}'.format('a',?'c'))?????#?a,?c

print('{2},?{0}'.format('a',?'c'))??#?c,?a

print('{2},?{0}'.format(*'abc'))?????????#?c,?a

print('{0}?{1}?{0}'.format('aa',?'bb'))?????????#?aa?bb?aa

同一个参数可以填充多次,这个是format比%先进的地方

3. 按名称访问参数

print('name:?{last_name}{first_name}'.format(last_name='chen',?first_name='xin'))

#?name:?chenxin

name=?{'last_name':?'chen',?'first_name':?'xin'}

print('name:?{last_name},?{first_name}'.format(**name))

#?name:?chenxin

4.?通过参数属性访问

class?MyList:

def?__init__(self,?x,?y):

self.x,?self.y?=?x,?y

def?__str__(self):

return?'MyList({self.x},?{self.y})'.format(self?=?self)

print(str(MyList('陈新明',?'www.chenxm.cc')))

#?网站名:陈新明,?地址?www.chenxm.cc

5. 通过参数的items访问

my_list?=?['陈新明',?'www.chenxm.cc']

print("网站名:{0[0]},?地址?{0[1]}".format(my_list))??#?"0"?是必须的

#?网站名:陈新明,?地址?www.chenxm.cc

6.?对齐字符串

"{:>5}".format(1)?#?设置宽度为5,右对齐

"{:>5}".format(10)

"{:>5}".format(100)

"{:>5}".format(1000)

#?输出下面的结果

'????1'

'???10'

'??100'

'?1000'

print('{:_<30}'.format('left?aligned'))

#'left?aligned__________________'

print('{:_>30}'.format('right?aligned'))

#'__________________right?aligned'

print('{:_^30}'.format('centered'))

#'__________________centered__________________'

^? ?居中? ? ?后面带宽度,

<? ?左对齐?后面带宽度,

>? ?右对齐 后面带宽度,

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

7.?截断字符串

'{:.5}'.format('Hello?Chen')?#?截取前5个字符

#?输出?'Hello'

8.?数字格式化

print("{:.2f}".format(3.1415926));

#?3.14

+ 表示在正数前显示 +,

-? 负数

(空格) 表示在正数前加空格

b??二进制

d??十进制

o??八进制

x? 十六进制

更多样式

9.?使用逗号作为千位分隔符

print('{:,}'.format(1234567890))

#'1,234,567,890'

10. 表示一个百分比

print('number:?{:.2%}'.format(0.61898))

#?number:?61.90%

11.?时间格式化

import?datetime

d?=?datetime.datetime(2018,?7,?31,?15,?58,?58)

print('{:%Y-%m-%d?%H:%M:%S}'.format(d))

#?2018-07-31?15:58:58

12.?访问元组中的元素

a?=?(1,2)

'X:?{0[0]};??Y:?{0[1]}'.format(a)

#?输出?'X:?1;??Y:?2'

#?注意:用%格式化字符串不支持此功能

13.?访问字典中的元素

people?=?{"name":?"Chen",?"age":?18}

"My?name?is?{p[name]}?and?my?age?is?{p[age]}".format(p=people?)

#?输出?'My?name?is?Chen?and?my?age?is?18'

#?注意:用%格式化字符串不支持此功能

python中format的用法-python format用法详解相关推荐

  1. python中append函数解析_对python中的pop函数和append函数详解

    对python中的pop函数和append函数详解 pop()函数 1.描述 pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法 pop()方法语法: list. ...

  2. 站长在线Python精讲:在Python中格式化字符串的两种方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...

  3. python中的pop函数和append函数_对python中的pop函数和append函数详解

    pop()函数 1.描述 pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法 pop()方法语法: list.pop(obj=list[-1]) 2.参数 obj ...

  4. python中的class怎么用_对python 中class与变量的使用方法详解

    python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键. #!/usr/bin/python #encoding ...

  5. python中class变量_对python 中class与变量的使用方法详解

    python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键. #!/usr/bin/python #encoding ...

  6. python中if语句的实例_对python中if语句的真假判断实例详解

    说明 在python中,if作为条件语句,当if后面的条件参数为真时,则执行后面的语句块,反之跳过,为了深入理解if语句,我们需要知道if语句的真假判断方式. 示例 在python交互器中,经过测试发 ...

  7. Python中的list/tuple/dict/set数据类型详解

    Python中的list/tuple/dict/set数据类型详解 Python内部内置了一些数据类型与结构,可以方便在编程时候的使用. list List存储一系列的有序集合,并且元素内容可变(可更 ...

  8. Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略

    Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介.案例应用(python中的编码格式及常见编码问题详解)之详细攻略 目录 符串编码(ASCII编码/GB ...

  9. 站长在线Python精讲:在Python中匹配字符串的3个方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中匹配字符串的3个方法详解>.本知识点主要内容有:使用match()方法进行匹配.使用search()方法进行 ...

  10. python中socket与UDP使用与通信详解

           网络层的"ip地址"可以唯一标识网络中的主机,而传输层的"协议+端口"可以唯一标识主机中的应用进程(进程).这样利用ip地址+协议+端口就可以标识 ...

最新文章

  1. linux安装python3命令-linux系统下安装python3及其配置
  2. altium designer怎么在原理图中批量修改元件封装
  3. 专门入侵检测linux叫什么,入侵检测系统分析及其在Linux下的实现(上)
  4. python可以实现什么黑科技_Python黑科技之元类
  5. [python] LDA处理文档主题分布及分词、词频、tfidf计算
  6. 【UESTC 594】我要长高
  7. turtle库是python的第三方库吗_turtle库的使用
  8. html鼠标划过显示图片,jquery实现鼠标滑过小图查看大图的方法
  9. ES6新特性_ES6对象的简化写法---JavaScript_ECMAScript_ES6-ES11新特性工作笔记008
  10. python并行计算for循环_在python中并行化这个嵌套的for循环
  11. The Learning route of GNN
  12. ajax的总结和使用
  13. 在线985,211高校查询
  14. python 数据驱动接口自动化框架_用Python实现数据驱动的接口自动化测试
  15. Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
  16. VMwarePro16 安装 Win7+BurpSuite
  17. 大数据学习之HDFS基础
  18. 数据挖掘期末复习01-02
  19. 多个等式束的拉格朗日乘子问题(详细证明)
  20. java mcu视频_如何利用MCU流畅的播放视频?

热门文章

  1. 8年菊厂员工,掏心万字总结
  2. 如何画好一张架构图?
  3. python弹幕脚本_自从用python写了个自动弹幕脚本后,各大主播都来找我,净赚十万!...
  4. having 与where区别
  5. 小马哥---高仿苹果7p 主板型号s89p 6580刷机拆机图示与开机识别图示
  6. PyCharm Professional安装jupyter后仍无法识别.ipynb文件
  7. 如何防止软件被破解?
  8. 蘑菇街2016招聘在线笔试题
  9. mujoco环境变量报错:Missing path to your environment variable
  10. 网络“菜鸟” newbie