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'

Python:格式化字符串的几种方式的更多相关文章

  1. Python拼接字符串的七种方式

    忘了在哪看到一位编程大牛调侃,他说程序员每天就做两件事,其中之一就是处理字符串.相信不少同学会有同感. 几乎任何一种编程语言,都把字符串列为最基础和不可或缺的数据类型.而拼接字符串是必备的一种技能.今 ...

  2. Python格式化输出的三种方式

    Python格式化输出的三种方式 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式比如要求用户输入用户名和年龄,然后打印如下格式:My name is xxx,my age ...

  3. Python 拼接字符串的几种方式

    在学习Python(3x)的过程中,在拼接字符串的时候遇到了些问题,所以抽点时间整理一下Python 拼接字符串的几种方式. 方式1,使用加号(+)连接,使用加号连接各个变量或者元素必须是字符串类型( ...

  4. python格式化输出的几种方式

    第一种  字符串拼接  就不写了 下面的是 第二 第三 第四种 name = input("name:") age = int(input("age:")) p ...

  5. python 格式化字符串的三种方法

    1)%格式化方法 >>> a = "this is %s %s" % ("my", "apple") >>&g ...

  6. python格式化输出的两种方式对比

    1.%符号方法和format()函数方法 2.对比: 1 print('我今年%d岁' %22.125) 2 print('我今年{0:f}'.format(22.125)) 3 #报错 4 #槽中类 ...

  7. python中字符串的几种表达方式(用什么方式表示字符串)

    说明: 今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 ...

  8. Python 3 格式化字符串的几种方法!

    Python 3 格式化字符串的几种方法! %s和%d,%s是用来给字符串占位置,%d是给数字占位置,简单解释下: a = 'this is %s %s' % ('an','apple') 程序输出的 ...

  9. python中字符串的四种表达方式

    今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 > ...

随机推荐

  1. SourceGenerator的应用: .Net多进程开发库 - Juxtapose

    背景 进程间通讯属于老生常谈的话题,可能已经有很多的通信示例代码,但在实际使用中需要做的东西还比较多.例如协议定制.消息收发.进程管理等都需要实现,进阶需求可能还需要实现回调函数.取消等. 个人在工作 ...

  2. redis集群运维

    Redis 的数据类型? Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zsetsorted set(有序集合) redis优势 速度快, ...

  3. Java线上问题排查神器Arthas实战分析

    概述 背景 是不是在实际开发工作当中经常碰到自己写的代码在开发.测试环境行云流水稳得一笔,可一到线上就经常不是缺这个就是少那个反正就是一顿报错抽风似的,线上调试代码又很麻烦,让人头疼得抓狂:而且deb ...

  4. Lesson2——Pandas库下载和安装

    pandas目录 简介 Python 官方标准发行版并没有自带 Pandas 库,因此需要另行安装.除了标准发行版外,还有一些第三方机构发布的 Python 免费发行版, 它们在官方版本的基础上开发而 ...

  5. 如果遇到继承控件,添加到新项目里在工具栏找不到的情况下,F5启动一下,重新生成是不会有的,要运行成功才有

    继承控件只的是cs结尾的那种,类直接继承对应控件,不是usercontrol类型的

  6. 精通 TensorFlow 1.x·翻译完成

    原文:Mastering TensorFlow 1.x 协议:CC BY-NC-SA 4.0 不要担心自己的形象,只关心如何实现目标.--<原则>,生活原则 2.3.c 在线阅读 Apac ...

  7. 【源码】Redis exists命令bug分析

    本文基于社区版Redis 4.0.8 1.复现条件 版本:社区版Redis 4.0.10以下版本 使用场景:开启读写分离的主从架构或者集群架构(master只负责写流量,slave负责读流量) 案例: ...

  8. open policy agent 语法总结

    OPA 文档模型 OPA将从外部加载的数据成为基本文档(base documents),有规则产生的值成为虚拟文档(virtual documents),此处"虚拟"的意思表示文档 ...

  9. ARC快速入门

    1.ARC机制判断 iOS5以后,创建项目默认的都是ARC ARC机制下有几个明显的标志: 不允许调用对象的 release方法 不允许调用 autorelease方法 再重写父类的dealloc方法 ...

  10. SpringBoot+Dubbo+ZooKeeper+Maven入门实践

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11798626.html 注*** 本实例为仅适合初学者,关于dubbo和springboot以 ...