1、%

'abc%s'%'123'
'abc123' 'abc%s%s'%('123','456')
'abc123456'

当变量v是一个Tuple、List且其中元素数量和字符串中%数量相同时,可以直接在后边写%v,例如:

A=(1,2)
print('A的值是%s和%s'%A) A的值是1和2

补充:

%m.nf:保留n位小数,显示时最小宽度为m(如果不足,会在之前补空格)

2、format

'abc{}'.format('123')
'abc123' 'abc{}{}'.format('123','456')
'abc123456'

'abc{0}{1:0.2f}'.format(1,123.456)
abc1123.45
 

学习自:Python format 格式化函数

2.1、参数

①格式化时可以不按顺序

'{0} {1}'.format('Hello' , 'world') #按顺序
'Hello world' '{1} {0} {1}'.format('Hello' , 'world') #不按顺序
'world Hello world'

从这里可以看出,{ n }中的数字n指示format的第n-1个参数,而这个n的大小不用遵守先后顺序

②参数可以是字典、列表

#字典
site = { 'name':'菜鸟教程' , 'url':'www.runoob.com'}
print('网站名:{name} , 地址 {url}'.format(**site)) #列表
site = [ '菜鸟教程' , 'www.runoob.com' ]
print('网站名:{0[0]} , 地址 {0[1]}'.format(site))

输出结果为:

网站名:菜鸟教程 , 地址 www.runoob.com
网站名:菜鸟教程 , 地址 www.runoob.com

2.2、数字格式化

①一个例子

'{:.2f}'.format(3.1415926)

'3.14'

②格式化说明表

数字 格式 输出 说明
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号且保留小数点后两位
-1 {:+.2f} -1.00 带符号且保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 宽度为2,不足则用0左填充
5 {:x<4d} 5xxx 宽度为4,不足则用x右填充
10 {:x<4d} 10xx 宽度为4,不足则用x右填充
1000000 {:,} 1,000,000 以逗号分隔的数字
0.25 {:.2%} 25.00% 百分比格式,保留两位小数
1000000000 {:.2e} 1.00e+09 科学计数法,底数保留两位小数
13 {:>10d}         13 宽度为10,数字右对齐
13 {:<10d} 13         宽度为10,数字左对齐
13 {:^d}     13     宽度为10,数字居中
11
{:b}
{:d}
{:o}
{:x}
{:#x}
{:#X}
1011
11
13
b
0xb
0XB
二进制
十进制
八进制
十六进制
0x开头的十六进制(小写)
0X开头的十六进制(大写)

补充:

1、.n就表示n位小数

2、^、<、>分别表示居中、左对齐、右对齐;:后边带填充的字符,只能是一个字符,不指定则默认用空格

3、+表示在正数前显示+,负数前显示-;即这里的+表示让带符号数显示它本来的符号

4、用{}来转义大括号:

'{}在字母中的位置是{{3}}'.format('c')
'c在字母中的位置是{3}' #后边被转义了

5、数字前补零

见上表标红部分

6、将前缀与dict结合起来

info={'ID':16,'Year':2021,'Month':6,'Day':8}
suffix=r'\sensor_data_{ID}-{Year}-{Month:0>2d}-{Day:0>2d}.csv'.format(**info)
#结果为
'\\sensor_data_16-2021-06-08.csv'

3、f前缀+{}

str='123'
str2='456' f'abc{str}'
'abc123' f'abc{str}{str2}'
'abc123456'

最新文章

  1. MS SQL 字符拆分存处理
  2. c语言结构体小知识
  3. EntityManager方法简介
  4. 关于java的static关键字
  5. UI开发核心问题-UI随屏幕自适应
  6. 蓝桥杯--算法训练 区间k大数查询
  7. Apache 一台主机绑定多个域名及虚拟主机
  8. 繁简转换OpenCC,autogb 和 autob5,iconv,python的jianfan包
  9. hdu 4704 同余定理+普通快速幂
  10. lua迭代器和仿制药for
  11. [转] iOS ABI Function Call Guide
  12. 《Android源代码设计模式解析与实战》读书笔记(十四)
  13. java基础(十七)----- 浅谈Java中的深拷贝和浅拷贝 —— 面试必问
  14. oracle 存储过程 clob 字段 调试
  15. shell脚本之流程控制语句
  16. python3安装ipython 过程以及问题
  17. DOM元素尺寸offsetWidth,scrollWidth,clientWidth等具体解释
  18. 四,memcached的机制
  19. TinkerPop简述
  20. java 常量 jvm在编译期能确定常量的 所以相等 但不能确定变量的范围 所以变量相加会产生新的

热门文章

  1. JVM之Java内存区域
  2. Nginx限制连接控制访问量
  3. mysql新增用户无法登陆问题解决ERROR 1045 (28000)
  4. swwager的使用
  5. java实现多线程生产者消费者模式
  6. Keka 官方网址 http://www.kekaosx.com/
  7. Git上传项目到码云提示Push rejected: Push to origin/master was rejected
  8. VC 获取多个mac地址
  9. Struts2中的过滤器
  10. iOS中处理时间的类