Python 格式化输出的格式使用详情
最编程
2024-04-23 07:48:59
...
format用法
相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’
使用方法由两种:b.format(a)和format(a,b)。
一、填充
1.无参(1)
print('{} {}'.format('hello','world'))
hello world
2.无参(2)
print('{0} {1}'.format('hello','world'))
hello world
3.无参(3)
print('{1} {0} {1}'.format('hello','world'))
world hello world
4.key value
print('ID:{id},Name:{name}'.format(id='001',name='hello'))
ID:001,Name:hello
5.列表
list=['001','hello'] print('ID:{List[0]},Name:{List[1]}'.format(List = list)) print('ID:{0[0]},Name:{0[1]}'.format(list))
ID:001,Name:hello
ID:001,Name:hello
6.字典
dict={'id':'001,'name':'hello'} print('ID:{Dict[0]},Name:{Dict[1]}'.format(Dict = dict)) print('ID:{id},Name:{name}'.format(**dict))
ID:001,Name:hello
ID:001,Name:hello
7.类
class value(): id = '001' name = 'hello' print('ID:{Value.id},Name{Value.name}'.format(Value = value))
ID:001,Name:hello
8.魔法参数
*args表示任何多个无名参数,它是一个tuple or list;**kwargs表示关键字参数,它是一个 dict。
args = [',','.'] kwargs = {'id': '001','name':'hello'} print('ID:{id}{}Name:{name}{}'.format(*args, **kwargs))
ID:001,Name:hello.
二、数字格式化
数字 | 格式 | 输出 | 描述 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |
-1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
2.71828 | {:.0f} | 3 | 不带小数 |
5 | {:0>2d} | 05 | 数字补零 (填充左边, 宽度为2) |
5 | {:x<4d} | 5xxx ) | 数字补x (填充右边, 宽度为4 |
10 | {:x<4d} | 10xx ) | 数字补x (填充右边, 宽度为4 |
1000000 | {:,} | 1,000,000 | 以逗号分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比格式 |
1000000000 | {:.2e} | 1.00e+09 | 指数记法 |
13 | {:>10d} | 13 | 右对齐 (默认, 宽度为10) |
13 | {:<10d} | 13 | 左对齐 (宽度为10) |
13 | {:^10d} | 13 | 中间对齐 (宽度为10) |
11 | ‘{:b}’.format(11) | 1011 | 二进制 |
11 | ‘{:d}’.format(11) | 11 | 十进制 |
11 | ‘{:o}’.format(11) | 13 | 八进制 //这里打成中文的冒号了,因为用英文的会打出一个O的表情~~~ |
11 | ‘{:x}’.format(11) | b | 十六进制 |
11 | ‘{:#x}’.format(11) | 0xb | 0x式十六进制+小写 |
11 | ‘{:#X}’.format(11) | 0xB | 0x式十六进制+大写 |
三、叹号用法
print(‘{!s}好'.format(‘你')) print(‘{!r}好'.format(‘你')) print(‘{!a}好'.format(‘你'))
你好
’你’好
’\u4f60’好
!后面可以加s r a 分别对应str() repr() ascii() 作用是在填充前先用对应的函数来处理参数
差别就是
str()是面向用户的,目的是可读性,
repr()带有引号,
ascii()是面向Python解析器的,返回值表示在python内部的含义,ascii (),返回ascii编码
总结
到此这篇关于Python格式化输出之format用法的文章就介绍到这了,更多相关Python格式化输出format内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
下一篇: 保留两位小数的 PHP 实现
推荐阅读
-
Prompt 工程师的最佳实践 - Prompt 的基本组件、格式化输出和应用程序构建
-
Python 格式化输出的格式使用详情
-
Python 格式化输出
-
关于 Python 字符串格式化解释的万字文章
-
适合双清和格式化数据的 TWRP 刷机有什么区别?如何合理使用双清刷?
-
Python 使用 pyodbc 访问数据库的操作方法详情
-
基于 NFC 的无线电池管理 BMS - ● 主动读取内部传感器:利用 NFC 技术,BMS 能够主动读取内部传感器的数据 [... 考虑车辆外使用案例中的空闲状态场景:NFC 技术可用于处理闲置状态下的电池组读取,例如在第二次生命转移期间进行存储。 主动诊断读取:在邻近系统中部署了 BMS 的情况下,使用 NFC 技术进行主动诊断读取。 (ii) 系统结构 系统架构如图所示,在建立安全通道之前,需要对设备进行身份验证。数据链路通信层由 NDEF 记录处理,而数据存储可以是离线的,也可以是数据库中的在线存储。活动和空闲状态的诊断读数取决于设备和数据方向,需要与外部 NFC 阅读器进行通信。软件架构分为三层,包括硬件抽象层(HAL)、中间层(中间件)和应用层。HAL 处理硬件驱动组件,中间件执行设备验证,而应用层则由开发人员根据安全漏洞和格式扩展*定义。 为确保安全,系统采用了一个安全模型,为 BMS 和主动诊断读取情况格式化应用数据。安全考虑因素包括设备相互验证、使用安全通道(加密和防篡改)以及确保电池组内读数的安全。 考虑到不同的 BMS 拓扑,包括集中式、调制式、分布式和分散式,系统需要满足设备相互验证和使用安全通道的要求。对于每种拓扑结构,都必须考虑将性能开销降至最低。电池是封闭的,对其进行物理攻击不可行或成本太高。外部攻击可能也很困难。基于对称或非对称加密技术的自动验证可用于保护电池组读数。安全协议在验证阶段和会话密钥确认阶段采用双密钥加密,以抵御攻击。中间件在数据格式验证、确认和处理中发挥关键作用,确保数据传输安全。 (iii) 唤醒模型设计
-
python 读取文本数据并转换为 DataFrame 格式的方法详情
-
使用这些配置来规范和格式化您的代码
-
使用这些配置来规范和格式化您的代码