Python数据输出,标准与格式化方法!

Python数据的标准输出与格式化输出

 更新时间:2023年08月30日 09:47:49   作者:JYHZZ  
这篇文章主要给大家介绍了关于Python数据的标准输出与格式化输出的相关资料,和大多数语言一样,Python也是用print()函数来进行输出,需要的朋友可以参考下

Python客栈送红包、纸质书

一.标准输出

1.使用表达式

2.使用print()函数

基本格式为:

print([输出项1,输出项2,......,输出项n][,sep=分隔符][,end=结束符])

没有输出项时输出一个空行:

这里输出了两个空行是因为print()输出了一个空行,结尾又输出了一个换行符,所以是两行。 

其中,输出项之间以逗号分隔,sep表示输出时各输出项之间的分隔符(默认以空格分隔),end表示结束符(默认以回车换行结束)

1
2
3
x = 12
y = 45
print(x, y)   #输出项x与y之间以逗号分隔

因为没有设置分隔符,所以以空格分隔:

 如果有分隔符:

1
2
3
x = 12
y = 45
print(x, y, sep='-')

没有设置end的情况:

1
2
x = 12
print(x)

结尾会多输出一个换行符:

设置了end的情况:

1
2
x = 12
print(x, end='!')

结尾的换行符就变成了其他符号:(不换行了)

例:

1
2
print(10, 20, sep='-', end='*')
print(30)

二.格式化输出

1.利用字符串格式化运算符%

一般格式为:

格式字符串%(输出项1,输出项2,......,输出项n)

例如:

1
print('The value is ¥%.2f' % 7.8)

 单引号内的字符为格式字符串,格式字符串分为普通字符和格式说明符,格式说明符以%开头,普通字符原样输出

本例中,The value is ¥是普通字符,原样输出,%.2f是格式说明符,表示输出项保留小数点后两位。

例如:

1
print('Values are %s,%s,%s' % (1, 2.3, ['one', 'two', 'three']))

格式符%s表示输出类型是字符串类型

 输出结果:

例如:

1
print('%6.2f'%12.345)

它表示输出的长度为6个字符,保留小数后两位。(默认右对齐)(小数点也算一个字符)

(12.35左边有一个空格) 

如果输出项的数的位数大于控制输出的长度:

1
print('%6.2f'%12345678.345)

原样输出

左对齐的方式: (加负号)

1
print('%-6.2f'%12.345,end='*')

可以看到12.35与*之间有一个空格,即左对齐

 例如:

1
print('%06.2f'%1.2345)

在6的前面多加了个0,表示输出的位数不足用6位就用0补足

除了0以外,我们还可以使用-与+

-表示左对齐,+表示在正数前面也加上+号

1
2
3
print('%-7.2f' % 1.2345, end='*\n')
print('%+7.2f' % 1.2345, end='*\n')
print('%-+7.2f' % 1.2345, end='*')

有时候在"%6.2f"这种格式字符串中,输出长度和小数位数不能事先指定,这时可以用%*.*f的形式

例如:

1
print('%0*.*f'%(8,2,123.524))

括号不能删!

1
print('%0*.*f'%8,2,123.524#这样是不对的

相当于:

1
print('%08.2f'%123.524)

例:

1
2
3
4
print('%+3d,%0.2f' % (25, 123.567))
print("Name:%-10s Age:%-8d Salary:%-0.2e" % ("Aviad", 25, 1839.8))
nHex = 0xFF
print("nHex=%x,nDec=%d,nOct=%o" % (nHex, nHex, nHex))

格式说明符格式化结果
%%百分号
%c

字符

%s字符串
%d带符号整数(十进制)
%o带符号整数(八进制)
%x或%X带符号整数(十六进制,用小写字母或大写字母)
%e或%E浮点数字(科学计数法,用小写e或大写E)
%f或%F浮点数字(用小数点符号)
%g或%G浮点数字(根据值的大小,采用%e,%f或%E,%F)

2.利用format()内置函数

format()函数可以将一个输出项单独格式化,一般格式为:

format(输出项[,格式字符串])

如果省略格式字符串时,该函数等价于函数“str(输出项)”的功能。

1
print(format("Hello"))

格式字符串格式化结果
d十进制
b二进制
o八进制
x或X十六进制
f或F浮点数字(用小数点符号)
e或E浮点数字(科学计数法,用小写e或大写E)
g或G浮点数字(根据值的大小,采用%e,%f或%E,%F)
c以整数为编码的字符
%输出百分号

例:

1
print(format(15,'X'),format(65,'c'),format(3.145,'6.2f'))

格式字符串还可以指定:

1.填充字符

1
2
print(format(3.145,'08.2f'))
print(format(3.145,'08.2'))

08.2f中,0是填充字符,8表示总共占8个字符长度,.2f表示保留小数点后两位(不包括小数点)

08.2中,0是填充字符,8表示总共占8个字符长度,.2表示不包括小数点在内的输出位数是2位

也就是说,假如用8.3输出1.2345,那么会输出1.23;用8.3输出12.345的话,会输出12.3

2.对齐方式(<表示左对齐,>表示右对齐,^表示居中对齐,=表示填充字符位于符号和数字之间)

1
2
3
4
print("01234567890123456789")#20个字符
print(format('text','<20'))
print(format('text','^20'))
print(format('text','>20'))

20表示在20个字符长度中进行对齐

1
print(format(-3.145,'$=8.2'))

$是填充字符,=表示填充字符$位于符号-和数字3之间

3.符号(+表示正号,-表示负号)

没有+号时,输出一个正数不会输出+号,加上正号才会有+号

1
2
print(format(3.145, '8.2'))
print(format(3.145, '+8.2'))

输出一个正数时,即使加上负号也不会输出-号

1
2
print(format(3.145, '8.2'))
print(format(3.145, '-8.2'))

3.字符串的format()方法

 调用格式:

格式字符串.format(输出项1,输出项2,……,输出项n)

其中格式字符串可以是普通字符和格式字符串。普通字符原样输出,格式字符串决定所对应输出项的转换格式。

普通字符:

1
print("Hello".format())#普通字符

格式字符串使用大括号括起来,一般形式如下:

{[序号]:格式说明符}

序号对应着后面的输出项:(省略全部序号按输出项的顺序输出)

1
2
3
4
print("{0},{1},{2}".format(1, 2, 3))
print("{2},{1},{0}".format(1, 2, 3))
print("{0},{0},{0}".format(1, 2, 3))
print("{},{},{}".format(1, 2, 3))

可选的键要对应输出项的名字或字典的键值:

1
print("{y},{x},{z}".format(x=1, y="Hello", z=3))

其中x,y,z就是键。

如果序号或键与格式说明符一起使用,那么就要在序号或键后面加上:再写格式说明符

例:

1
print("{1:5.2f},{0}".format(500,3.1415))

{1:5.2f}中1表示输出项1,:是必须写的,5.2f表示输出占5个字符长度,保留小数后两位

例:

使用大括号“{}”格式说明符,大括号及里面的字符(称为格式化字符)将会被format()中的参数替换

1
print("I\'m{},{}".format("JYHZZ","Welcome!"))

1
2
import math
print("The value of PI is approximately {}".format(math.pi))

使用“{序号}”形式的格式说明符,在大括号中的数字用于指向输出对象在format()函数中的位置。

1
print("{0},i\'m {1}.My E-mail is {2}".format("Hello","JTHZZ","666"))

改变格式说明符的位置:

1
print("{1},i\'m {2}.My E-mail is {0}".format("666","Hello","JTHZZ"))

使用“{键}”形式的格式说明符,大括号中是一个标识符,该标识符会指向使用该名字的参数

1
print("Hi,{nm}.{ms}".format(nm="JYHZZ",ms="How are you?"))

混合使用“{序号}”,“{键}”形式的格式说明符

1
print("Hi,{0}.{ms}".format("JYHZZ",ms="How are you?"))

输出的格式控制:

序号和键后面可以跟一个冒号:和格式说明符,这就允许对输出项进行更好的格式化。

例如,{0:8}表示format()中的第一个参数占8个字符宽度,如果输出位数大于该宽度,就按实际位数输出;如果输出位数小于这个宽度,默认右对齐,左边补空格,补足8位。

{1:.3}表示第二个输出项除小数点外的输出位数是3位。

{1:.3}表示保留小数点后3位。

1
2
3
import math
print("The value of PI is approximately {0:.3}".format(math.pi))
print("The value of PI is approximately {0:.3f}".format(math.pi))

例如:

1
2
3
4
5
6
print("{0:<15}".format(1234567890))#左对齐
print("{0:>15}".format(1234567890))#右对齐
print("{0:*^15}".format(1234567890))#中间对齐,空位以*填充
print("{0:10b}".format(65))#用二进制形式输出
print("{0:10o}".format(65))#用八进制形式输出
print("{0:10x}".format(65))#用十六进制形式输出

总结

到此这篇关于Python数据的标准输出与格式化输出的文章就介绍到这了,更多相关Python数据输出内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

原文链接:https://blog.csdn.net/JYHZZ/article/details/126907671

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!

相关文章

  • pytorch 状态字典:state_dict使用详解

    pytorch 状态字典:state_dict使用详解

    今天小编就为大家分享一篇pytorch 状态字典:state_dict使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python实现小数转化为百分数的格式化输出方法示例

    Python实现小数转化为百分数的格式化输出方法示例

    这篇文章主要介绍了Python实现小数转化为百分数的格式化输出方法,结合具体实例形式分析了Python实现小数转换为百分数输出的相关操作技巧与注意事项,需要的朋友可以参考下
    2017-09-09
  • 基于Python+Appium实现京东双十一自动领金币功能

    基于Python+Appium实现京东双十一自动领金币功能

    一年一度的双十一即将来临,各大平台都在搞活动,京东天猫忙的不易乐乎,做任务领金币的过程真的好无聊,今天小编给大家分享一篇教程通关Python+Appium实现京东双十一自动领金币功能,需要的朋友可以参考下
    2019-10-10
  • python 在指定范围内随机生成不重复的n个数实例

    python 在指定范围内随机生成不重复的n个数实例

    今天小编就为大家分享一篇python 在指定范围内随机生成不重复的n个数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python推导式使用详情

    Python推导式使用详情

    这篇文章主要介绍了Python推导式使用详情,推导式是 for 循环的简化使用方法,使用推导式,将一个可迭代对象中的数据遍历到某一个容器当中,下面文章详细介绍需要的小伙伴可以参考一下
    2022-05-05
  • Python已解决NameError: name ‘xxx‘ is not defined

    Python已解决NameError: name ‘xxx‘ is not&nb

    本文主要介绍了Python已解决NameError: name ‘xxx‘ is not defined,解决报错NameError: name 'xxx' is not defined的关键在于仔细检查拼写、作用域和赋值等问题,感兴趣的可以了解一下
    2024-06-06
  • python使用pipeline批量读写redis的方法

    python使用pipeline批量读写redis的方法

    今天小编就为大家分享一篇python使用pipeline批量读写redis的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python实现Oracle查询分组的方法示例

    python实现Oracle查询分组的方法示例

    这篇文章主要介绍了python实现Oracle查询分组的方法,结合实例形式分析了python使用group by子句及having子句实现Oracle查询分组的相关操作技巧,需要的朋友可以参考下
    2020-04-04
  • 用 Python 元类的特性实现 ORM 框架

    用 Python 元类的特性实现 ORM 框架

    利用 Python 元类的特性实现 ORM 框架的 insert 功能,通过操作类对象,对数据表进行数据增加操作。由于 ORM 比较复杂,也不要重复造轮子,就完成一个 insert 相类似的ORM,理解其中的道理即可。
    2021-05-05
  • Python中turtle.write方法使用说明

    Python中turtle.write方法使用说明

    turtle模块以面向对象和面向过程的方式提供turtle图形基元,由于它使用Tkinter作为基础图形,因此需要安装有Tk支持的Python版本,下面这篇文章主要给大家介绍了关于Python中turtle.write方法使用说明的相关资料,需要的朋友可以参考下
    2022-02-02

最新评论

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空