中print中加f_Python3中的格式化输出

Python3字符串格式化输出有两种形式实现:
a:字符串格式化表达式: '...%...' % (values)
b:字符串格式化方法调用:'...{}...'.format(values) 或者 f'...{xx}...'

1:字符串格式化的类型码(typecode)
(表1)

8516c0450ec5f002ad554517660985b5.png

2: 字符串格式化表达式

格式:%[(keyname)][flags][width][.precision]typecode (表2)

7ea34bd3b43c02bf1e8469429eff4032.png

2.1:整数的输出

"""%o —— oct 八进制%d —— dec 十进制 %x —— hex 十六进制""" # %da = 123# 使用字典提供值print('1---[%(age)d]=','[%(age)d]' % {'age':a} )# %dprint('2---[%d]=','[%d]' % (a,))# 前面带 '+' 号print('3---[%+d]=','[%+d]' % (a,))# 最小宽度,默认右对齐print('4---[%5d]=','[%5d]' % (a,))# 最小宽度,默认右对齐,左边补0print('5---[%05d]=','[%05d]' % (a,))# 最小宽度,左对齐print('6---[%-5d]=','[%-5d]' % (a,)) """结果:1---[%(age)d]= [123]2---[%d]= [123]3---[%+d]= [+123]4---[%5d]= [  123]5---[%05d]= [00123]6---[%-5d]= [123  ]""" """上面是十进制的输出,其他进制输出,只要把d% 替换为o%,x%即可。%o  八进制%x  十六进制"""

2.2:浮点数的输出:

%f:

#%fa = 123.123456789# 默认6位小数print('1----%f=','[%f]' % (a,))# 最小20位,7位小数,默认右对齐print('2----%20.7f=','[%20.7f]' % (a,))# 最小20位,7位小数,右对齐,左边补0print('3----%020.7f=','[%020.7f]' % (a,))# 最小20位,7位小数,左对齐print('4----%-20.7f=','[%-20.7f]' % (a,)) """结果:1----%f= [123.123457]2----%20.7f= [         123.1234568]3----%020.7f= [000000000123.1234568]4----%-20.7f= [123.1234568         ]"""

%e:

#%ea = 123.123456789# 默认6位小数print('1----%f=','[%e]' % (a,))# 最小20位,7位小数,默认右对齐print('2----%20.7f=','[%20.7e]' % (a,))# 最小20位,7位小数,右对齐,左边补0print('3----%020.7f=','[%020.7e]' % (a,))# 最小20位,7位小数,左对齐print('4----%-20.7f=','[%-20.7e]' % (a,)) """结果:1----%e= [1.231235e+02]2----%20.7e= [       1.2312346e+02]3----%020.7e= [00000001.2312346e+02]4----%-20.7e= [1.2312346e+02       ]"""

%g:根据显示内容选择格式:
规则为:指数小于-4,或者 指数大于等于精度 使用指数格式e,其他情况使用小数格式f

"""#%g:默认精度为6根据显示内容选择格式:规则为:指数小于-4,或者 指数大于等于精度 使用指数格式e,其他情况使用小数格式f举例:a = 123456.123456789a = 123456.123456789 = 1.23456123456789e+05  指数为5"""a = 123456.123456789# # %g 精度默认为6位,a的指数为5,使用小数格式fprint('1----%g=','[%g]' % (a,)) # %10.2g  精度为2,a的指数为5,使用指数格式eprint('2----%10.2g=','[%10.2g]' % (a,)) # %.4g  精度为4,a的指数为5,使用指数格式eprint('3----%.4g=','[%.4g]' % (a,)) # %020.7g  精度为7,a的指数为5,使用小数格式fprint('4----%020.7g=','[%020.7g]' % (a,)) # %020.7g  精度为7,a的指数为5,使用小数格式fprint('5----%-20.7g=','[%-20.7g]' % (a,))  """1----%g= [123456]2----%10.2g= [   1.2e+05]3----%.4g= [1.235e+05]4----%020.7g= [000000000000123456.1]5----%-20.7g= [123456.1            ]"""

2.3:字符串输出:

'''%s%10s   ——右对齐,占位符10位%-10s  ——左对齐,占位符10位%.2s   ——截取2位字符串%10.2s ——10位占位符,截取两位字符串'''s = 'abcdef'print('1--[%s]=','[%s]' % s)print('2--[%10s]=','[%10s]' % s)print('3--[%-10s]=','[%-10s]' % s)print('4--[%.2s]=','[%.2s]' % s)print('5--[%10.2s]=','[%10.2s]' % s)print('6--[%-10.2s]=','[%-10.2s]' % s) """1--[%s]= [abcdef]2--[%10s]= [    abcdef]3--[%-10s]= [abcdef    ]4--[%.2s]= [ab]5--[%10.2s]= [        ab]6--[%-10.2s]= [ab        ]"""

3: 字符串格式化方法调用:format()

格式:{fieldname component !conversionflag : formatspec} (表3)

d0c7064a996f440a7141710835ac496d.png

formatspec格式:[[fill]align][sign][#][0][width][,][.precision][typecode] (表4)

7fe09a1f3587930a13d1b444a5d93ffb.png

fieldname

# 参数出现的位置,顺序可以打乱。print('1----:age:{1},name:{0} '.format('ixusy88',18)) # 参数出现的位置,默认相对位置print('2----:name:{},age:{} '.format('ixusy88',18)) # 关键字参数 print('3----:name:{name},age:{age} '.format(name='ixusy88',age=18))  # 关键字参数,顺序可以打乱。print('4----:age:{age},name:{name}'.format(name='ixusy88',age=18))  import sys# 属性,字典print('5----:平台:{0.platform} ;name:{1[name]},age:{1[age]}'.format(sys,{'name':'ixusy88','age':18}))print('6----:第二个是:{0[1]},第一个是:{0[0]}'.format([11,22,33])) #解包st = (10,20,30,)print('7----:第二个是:{1},第一个是:{0}'.format(*st)) lst = [100,200,300]print('8----:第二个是:{1},第一个是:{0}'.format(*lst))  """结果:1----:age:18,name:ixusy88 2----:name:ixusy88,age:18 3----:name:ixusy88,age:18 4----:age:18,name:ixusy885----:平台:win32 ;name:ixusy88,age:186----:第二个是:22,第一个是:117----:第二个是:20,第一个是:108----:第二个是:200,第一个是:100"""

整数:

# 整数a = 100print('1----[{0}]'.format(a))#最小显示10位,默认右对齐print('2----[{0:10}]'.format(a))#最小显示10位,左对齐print('3----[{0:<10}]'.format(a)) #最小显示10位,居中print('4----[{0:^10}]'.format(a)) #最小显示10位,居中,使用字符d填充剩下的print('5----[{0:d^10}]'.format(a)) #,逗号,千分为分隔符print('6----[{0:,d}]'.format(999999)) """结果:1----[100]2----[       100]3----[100       ]4----[   100    ]5----[ddd100dddd]6----[999,999]"""

浮点数:

a = 1234567.123456789#a = 1234567.123456789 = 1.234567123456789e+06print('1----:','[{0:f}]'.format(a))# 最小显示10位,2位精度,默认右对齐print('2----:','[{0:10.2}]'.format(a))# 最小显示10位,2位精度,左对齐print('3----:','[{0:<10.2}]'.format(a))# 最小显示10位,2位精度,居中print('4----:','[{0:^10.2}]'.format(a))# 使用字符m填充剩下的print('5----:','[{0:m^10.2}]'.format(a)) """1----: [1234567.123457]2----: [   1.2e+06]3----: [1.2e+06   ]4----: [ 1.2e+06  ]5----: [m1.2e+06mm]"""

二进制,八进制,十六进制:

a = 100# '#' 号会加前缀 print('二进制:{0:b},{0:#b}'.format(a))print('八进制:{0:o},{0:#o}'.format(a))print('十六进制:{0:x},{0:#x}'.format(a))"""二进制:1100100,0b1100100八进制:144,0o144十六进制:64,0x64"""

4:format的用法变形: f'{name}'

f'{name}':
可以在字符串前加f以达到格式化的目的,在{}里加入变量,在{}里面,可以像在代码块中一样使用此变量(比如调用属性,方法,把它作为其他函数的参数等)

# 1: a.format(b)print('1----:','a.format(b):')s1 = 'Hello's2 = 'World'print('2----:','{0} {1} '.format(s1,s2)) print('**************')"""f'{name}':可以在字符串前加f以达到格式化的目的,在{}里加入变量名,在{}里面,可以像在代码块中一样使用此变量(比如调用属性,方法,把它作为其他函数的参数等)"""s1 = 'Hello's2 = 'World'print('3----:',f'{s1} {s2}')print('4----:',f'{len(s1)} {s2.count("o")} {s2.upper()}') # 还可以使用函数  name = 'ixusy88'age = 18sex = 'Man'job = "IT"salary = 8888.9868 # 调用它的方法;作为函数的参数print('5----:',f'my name is {name.capitalize()}. the len of {name} is {len(name)}')# 也可以使用相应的格式print('6----:',f'I am {age:*^10} years old.')print('7----:',f'I am a {sex}')print('8----:',f'My salary is {salary:10.3f}') # 还可以在{} 中进行if判断print('9----:',f'sex is  {"男" if sex == "Man" else "女"}')  import sysprint('10----:',f'Platform is {sys.platform}')  st = ('123','345','567',)print('11----:',f'{st}')# 取某个元素print('12----:',f'{st[0]}') dic = {'name':'ixusy88','age':18}print('13----:',f'dic={dic},age={dic["age"]}')# 推导式:print('14----:',f'{[x for x in st]}')  """输出结果:1----: a.format(b):2----: Hello World **************3----: Hello World4----: 5 1 WORLD5----: my name is Ixusy88. the len of ixusy88 is 76----: I am ****18**** years old.7----: I am a Man8----: My salary is   8888.9879----: sex is  男10----: Platform is win3211----: ('123', '345', '567')12----: 12313----: dic={'name': 'ixusy88', 'age': 18},age=1814----: ['123', '345', '567']"""

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Json-ServerMockJs简单快速生成测试数据

Json-Server&MockJs简单快速生成测试数据 1、Json-Server 和 MockJs的安装 npm install -g json-server //全局安装2、创建目录和初始话 例如&#xff1a;创建D:\ProjectOne文件夹 3、打开终端或者powershell进入ProjectOne文件夹 4、初始化项目 npm init5、安装Mock…

oracle nvl和coalesce,NVL与Coalesce之间的Oracle差异

慕码人8056858COALESCE是更现代的功能&#xff0c;是ANSI-92标准的一部分。NVL在Oracle具体的&#xff0c;它在推出80的前存在任何标准。在两个值的情况下&#xff0c;它们是同义词。但是&#xff0c;它们的实现方式不同。NVL总是计算两个参数&#xff0c;同时COALESCE通常在找…

安卓签名生成工具_ios app如何进行内测?ios app和安卓app的内测有何区别?

目前手机主流的操作系统分为Android和iOS两大阵营&#xff0c;分别是由谷歌和苹果进行开发维护。这两大平台的应用都相互独立&#xff0c;无论是运行机制还是底层原理&#xff0c;都不一样&#xff0c;所以即使是同一款App也是需要针对在两大平台上分别进行内测和运营、发布。那…

深拷贝的缺点_拷贝?还傻傻分不清深浅?

「引言」❝臣闻求木之长者&#xff0c;必固其根本&#xff1b;欲流之远者&#xff0c;必浚其泉源。---- 魏征 《谏太宗十思疏》❞或许你会问到&#xff0c;网上已经把深浅拷贝(算一个面试的高频考点了吧)的文章都快写烂了&#xff0c;为什么自己还要重新操刀写一遍呢&#xff0…

实现文件中名词的统计计数_通过勤哲EXCEL和Excel中的rank函数实现排名统计

如今&#xff0c;信息化已成为各行业企业转型和发展的关键所在&#xff0c;信息化技术最明显的特点是企业不同部门的人在信息技术的支撑下&#xff0c;可以利用丰富的资源与工具展开协作学习&#xff0c;在相对自由的模式和环境下&#xff0c;改变传统设计相对局限、固定思维的…

安徽关节式焊接机器人_上下料机器人的重要性体现在哪里?它有哪些优势?

上下料机器人是工业机器人家族中从事加工应用的重要成员之一&#xff0c;能满足“快速、大批量加工节拍”、“节省人力成本”、“提高生产效率”等要求&#xff0c;成为越来越多中心企业的理想选择。那么&#xff0c;上下料机器人有哪些特征和优势&#xff1f;企业主应该如何选…

vision软件_Roboguide软件:高速拾取仿真工作站相机与工具添加与配置

上一期为大家介绍了机器人高速拾取仿真工作站中工件、视觉校准板、输送带等外围设备的添加与配置&#xff0c;本期再来为大家介绍一下相机、机器人工具的添加与配置。一、相机添加与配置1.左侧浏览树中右击“Sensor Units”&#xff0c;在弹出的快捷菜单中依次点击“Add Sensor…

arduino tft 方向_ESP32在Arduino环境下玩转 LVGL,ESP32移植LVGL详细教程

微信关注 “DLGG创客DIY”设为“星标”&#xff0c;重磅干货&#xff0c;第一时间送达。❝转载自慕容流年 https://me.csdn.net/qq_41868901❞1. LVGL简介LittlevGL是一个免费的开源图形库&#xff0c;提供了创建嵌入式GUI所需的一切&#xff0c;具有易于使用的图形元素、漂亮的…

linux内核开文件系统,内核必须懂(二): Linux文件系统初探

目录前言文件系统结构新建文件和inode文件创建过程inode解析打开文件参考最后前言这次来说文件系统. 文件系统是非常重要的, 提高磁盘使用率, 减小磁盘磨损等等都是文件系统要解决的问题. 市面上的文件系统也是数不胜数, 比较常用的像ext4, xfs以及ntfs等等, 国内的像鹅厂的tfs…

gps卫星位置计算程序matlab_科研项目 | BD/ GPS卫星导航仿真测试系统研究

一、项目背景在移动互联和互联网的时代&#xff0c;卫星导航定位已经成为生活中不可或缺的部分。目前&#xff0c;我国的交通、银行、电力、采矿、测绘等部门以及大众化市场都需要大量的定位、授时服务。许多企业也形成了覆盖卫星导航相关材料及元器件、卫星导航芯片、卫星导航…

Linux输入密码接口,Linux下搭建接口自动化测试平台

前言我们今天来学习一下在Linux下如何搭建基于HttpRunner开发的接口自动化测试平台吧&#xff01;需要在Linux上提前准备的环境(下面是本人搭建时的环境)&#xff1a;1&#xff0c;Python 3.6.8 (可参考随笔&#xff1a;Linux学习6-安装Python3.6)2&#xff0c;MySQL 5.7(可参考…

linux下查看windows文件夹大小,如何从Windows命令行检查文件夹的大小?

我意识到这个问题要求使用进行文件大小分析CMD line。但是&#xff0c;如果您愿意使用它&#xff0c;PowerQuery (Excel add-in, versions 2010)则可以创建一些非常引人注目的文件大小分析。下面的脚本可以粘贴到空白查询中&#xff1b;您唯一需要做的就是添加一个名为“ param…

图像语义分割_图像语义分割(9)-DeepLabV3: 再次思考用于图像语义分割的空洞卷积...

论文地址 &#xff1a;Rethinking Atrous Convolution for Semantic Image Segmentation论文代码&#xff1a;Github链接1. 摘要文章主要的工作&#xff1a;使用空洞卷积来调整滤波器的感受野并控制特征图分辨率使用不同空洞率的空洞卷积的串联或者并行操作来分割不同尺度的目标…

sql replace 双引号变单引号_sql-汇总、排序以及分析思路

一、汇总函数注&#xff1a;汇总函数&#xff0c;如果输入是列名&#xff0c;计算会把null 排除在外&#xff0c;count(*)对所有的行进行计数二、如何用sql解决业务问题注1&#xff1a;空值(null)的排序,排序是最小的&#xff0c;例如select * from tea order by tea_name注2&a…

openwrt是嵌入式linux,非常方便的OpenWrt的嵌入式Linux开发环境

今天听中央经济广播电台说,今年有559万大学毕业生,大学生的就业形式严峻.我想那些精通Linux开发的毕业大学生们,估计一点也不用担心,因为他们已经不再是一颗大白菜了.最近在帮一个朋友把OpenWrt移植到一块单板上,有一些心得,分享给大家.OpenWrt是一个很好的学习Linux的平台,而且…

php多个表中查找数据_HeidiSQL 免费的可视化数据库管理工具

HeidiSQL是一款免费的软件&#xff0c;并且易于学习和使用。HeidiSQL让你从数据库内可视化的读写数据、结构体。它支持MariaDB、MySQL、Microsoft SQL、PostgreSQL等数据库。功能免费且开源内置中文在同个窗口连接多个服务支持以命令行形式连接服务连接支持SSH、SSL创建修改表、…

嵌入式linux启动根文件系统,嵌入式Linux根文件系统制作和挂载

嵌入式Linux系统由三部分组成&#xff1a; uboot、kernel、根文件系统&#xff0c; 还是这张老图这里的根文件系统可以说是包含两个部分&#xff1a; 一个是根&#xff0c;一个是文件系统那么什么是根呢&#xff1f;哈哈 其实根表示的就是第一个的意思下面贴张图看看整个根文件…

sqlite 查询 支持多用户同时_SQLite支持多进程同时操作数据库文件吗?

多个进程可以同时打开同一个数据库。多个进程可以同时执行SELECT。但是&#xff0c;只有一个进程可以随时对数据库进行更改。SQLite使用读/写锁来控制对数据库的访问。(在Win95 / 98 / ME下&#xff0c;缺少对读写锁的支持&#xff0c;而是使用概率模拟。)但请注意&#xff1a;…

pgsql 查询每天的最后一条_Qamp;A | 如何允许他人查询表单数据?

小金Q&A来啦&#xff01;这一期小金Q&A中&#xff0c;小金收集到近期大家关注最多的几个问题。小金将定期为小金人们答疑解惑&#xff0c;帮助你每天用好小金一点。●Q&A●问&#xff1a;如何批量设置新数据微信提醒&#xff1f;答&#xff1a;点击右上角头像 个人…

linux 解压tar.jz,linux系统压缩文件和解压缩命令

linux系统压缩文件和解压缩命令tar命令   解包&#xff1a;tar zxvf FileName.tar打包&#xff1a;tar czvf FileName.tar DirName gz命令   解压1&#xff1a;gunzip FileName.gz解压2&#xff1a;gzip -d FileName.gz压缩&#xff1a;gzip FileName.tar.gz 和 .tgz解压&a…