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

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

2: 字符串格式化表达式

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

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)

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

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']"""

中print中加f_Python3中的格式化输出相关推荐

  1. element中使用loading,加载中

    前言: 在element中使用loadding的时候,在js中调用的,还是不太方便,这里把他封装下. 先写一个 loading.js 文件: import { Loading } from 'elem ...

  2. python中print后面加逗号

    python中print输出一行,如果想多次输出的内容不换行,可以在print后面加逗号 例如 每个输出一行 phrase = "abcdefg" # Add your for l ...

  3. python中print的用法_python中print用法

    print用法 参考文档: https://blog.csdn.net/sinat_28576553/article/details/81154912 目录 一.print()函数概述 二.变量的输出 ...

  4. python中print的用法_Python中print函数简单使用总结

    Python中print函数简单使用总结 print函数是Python的入门,每一个学习python的人都绕不开这个函数,下面介绍一下这个函数的用法. 打开电脑,选择python软件,下面选择pyth ...

  5. python中print输出格式汇总_python中print输出格式有哪些

    python中print输出格式有:1.可用加号连接[print("I " + "love " + "you")]:2.逗号连接会自动在连接 ...

  6. python中return和printf的区别_Python格式化输出:%s和format()用法比较

    1.python格式化输出历史起源 python2.5之前,我们使用的是老式格式化输出:%s.从python3.0开始起(python2.6同期发布),同时支持两个版本的格式化,多出来的一个新版本就是 ...

  7. java中逗号怎么加_Java中如何将字符串从右至左每三位加一逗号

    /** * * 将字符串从右至左每三位加一逗号 * * * @param str 需要加逗号的字符串 * @return 以从右至左每隔3位加一逗号显示 */ public static String ...

  8. python中print是什么意思_python中print什么意思

    python中print什么意思,多个,是一个,对象,语法,默认值 python中print什么意思 易采站长站,站长之家为您整理了python中print什么意思的相关内容. python中prin ...

  9. python语言中print函数的作用_python中print()方法有什么

    python中print()方法有什么 发布时间:2020-11-11 13:50:08 来源:亿速云 阅读:91 作者:小新 这篇文章给大家分享的是有关python中print()方法有什么的内容. ...

最新文章

  1. MVC自定义视图规则
  2. 程序员永远不要再犯的5个编程错误
  3. springmvc+jsp引用本地图片文件
  4. Neo4j Java Rest绑定入门(Heroku部署)
  5. python whl安装 缺少dll 查看具_解决Python安装时报缺少DLL问题【两种解决方法】
  6. 哪吒汽车宣布获得上海银行总行20亿元综合授信额度
  7. 《Deep Learning》笔记
  8. Django 框架篇(七) : 中间件 以及 5种方法
  9. crontab 不执行解决方案
  10. 网络管理与维护作业7
  11. HSQL转换成MapReduce过程
  12. javascript中concat方法深入理解
  13. php fork demo,php多进程demo
  14. linux看注册的定时任务,Linux下定时任务的查看及取消
  15. 网友在各自领域中所用到的芯片总结(转载)
  16. 计算机等级考试如何评改试题,全国计算机考试上机考试是如何改卷的
  17. RHEL5下nginx+php+mysql+tomcat+memchached配置全过程
  18. 华为matebook13 win10系统重置登录密码
  19. nc65右键生成菜单_NC常见问题处理
  20. HDU - 6638

热门文章

  1. 如何在SQL Server 2019中添加数据敏感度分类的命令
  2. 翼方健数邓振:“DRG+AI”助力实现医院精细化管理
  3. 云+X案例展 | 传播类:南方报业数据中台建设,助力“智媒”飞跃发展
  4. 容器精华问答 | 如何进行跨机器的Container做Link ?
  5. jq ajax异步上传文件,jQuery插件ajaxFileUpload异步上传文件
  6. java map是大括号_Java8如何基于flatMap处理异常函数
  7. 精讲23种设计模式-基于观察者模式~设计异步多渠道群发框架
  8. Need to upgrade docker package to 17.06.0+. Docker升级到最新版本
  9. mybatis批量插入数据到Oracle中的两种方式
  10. html、css、js、react、vue 文字一行一行显示出来