浅谈Python的格式化输出

 更新时间:2021年10月18日 15:55:19   作者:_白白不白  
这篇文章主要介绍了python中的格式化输出用法,分析了Python格式化输出的种类并结合实例形式总结了针对浮点数的格式化输出方法,需要的朋友可以参考下

python的输出

python输出中的print()函数,直接引用即可,它的完整格式为:

#最后面还有文件操作的,我们主要学习输出相关,所以暂不加入
print(object, sep=' ', end='\n')

object——是我们要输出的东西,可以是变量也可以是具体的数据,可以是单个也可以是多个,如果是多个中间用' , '分隔即可

sep——当我们要输出多个东西时才会用到,它表示我们输出的多个数据之间输出时用什么来进行分隔,如果输出时不设置,那就默认以一个空格来分隔

end——用来设置输出完我们要输出的数据之后,用什么来结尾。当你不特意进行设置时它默认为end='\n' ,所以print()函数默认输出结束后自动换行

print(1,2,3,end='')
print(1,2,3,sep='!')
print(1,2,3,)
#它们的输出如下:
1 2 31!2!3
1 2 3
#请仔细思考为什么这样,理清楚头绪

我们在C语言中学的scanf()函数是格式化输出的,可以设置要输出的数据的格式与数据形式,那我们在python如何来实现呢?

int a=10;
float b=6.6;
scanf("%d%f\n",a,b);

上面C语言代码用python实现为:

a=10
b=6.6
print("%d%f"%(a,b))
#print(a,b,sep='') 

如果对输出数据格式有要求我们选用上面的方式,可以和c语言一样对于输出的格式进行修改设定

如果对输出格式没有要求我们选用第二种方法,比较方便,与字符串一起输出时可以用+进行连接,但前提是输出类型也是字符串类型的,如果不是字符串类型,那我们可以用str()函数进行强制转换在进行连接输出,如下:

a=18
print("Her age is "+a+" !")

上面这样写时错误的,因为a为赋值为18,所以a的数据类型为整型,整型不可以直接与字符串用+进行连接,所以正确的写法应该是:

a=18
print("Her age is "+str(a)+" !")
#输出为:Her age is 18 !

接下来具体讲一下格式化输出数据,%的格式化输出与C语言的大同小异:

%d——十进制整数

%o —— 八进制整数

%x —— 十六进制整数

%f——浮点数,小数点后面六位有效数字

%e ——指数形式输出,小数点后面六位有效数字

%g ——六位有效数字的前提下,使用小数方式,否则使用科学计数法

a=5
print(10)
print("%d"%a)
print("%2d"%a)#输出时按照2个空间大小输出,默认为右对齐
print("%-2d"%a)#2个空间大小,因为d前面是-号,所以左对齐
print("%02d"%a)#2个空间大小输出,不够的用0补齐
print("%-02d"%a)#2个空间大小输出,不够的用0补齐,左对齐

#以上代码的输出为:
10
5
5
5
05
5

总结一下上面代码,%与d之间可以加一些数字或者符号来控制输出数据的格式,具体为:

%(控制左右对齐)(用什么补齐)(按照几位空间输出)d分别为:

默认为右对齐,负号为左对齐

默认空格补齐,可以设置其他补齐

数字本身超过要求的空间时,无影响,数据本身不够时,根据左右对齐,在根据补齐。说白了就是占位置

其他的数据类型也都是类似的,无论是浮点数还是字符串,如%5.2f代表,占五个位置,并且保留两位小数,要特别注意的是浮点数的小数点也是占一个位置的,接下来看几个实例,好好体会一下

b=5.21
print(b)
print("%f"%b)
print("%2.1f"%b)
print("%2.2f"%b)
print("%5.2f"%b)
print("%5.5f"%b)
print("%.5f"%b)

#上面的输出依次为:
5.21
5.210000
5.2
5.21
5.21
5.21000
5.21000
#大家注意对比研究

有些东西必须要自己体会出来才能记下来,希望大家能够勤奋思考,不要偷懒!

接下来介绍一个函数——str.format()

相对基本格式化输出采用‘%'的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}'作为特殊字符代替‘%'

废话不多说上代码!!!

#通过位置匹配,类似于数组
print('{} {}'.format('hello','baibai'))#hello baibai
print('{1} {0}'.format('hello','baibai'))#baibai hello
print('{1} {1}'.format('hello','baibai'))#baibai baibai
print('{0} {0}{0}'.format('hello','baibai'))#hello hellohello
#通过对应值名字进行匹配,类似于字典
#(这里也可以传入一个字典类型进行key与value对应取)
print('{a},{b}'.format(a='1',b='8'))#1,8

除了这些,我们还可以输出更加复杂的数据类型

#还是用一下我之前定义的一个数据
goods=[(1,"百事可乐",10,3),(2,"康师傅方便面",15,2),(3,"马克杯",5,30)]
list=[1,2,3]
print('{0[1]}'.format(goods))#(2, '康师傅方便面', 15, 2)
print('{0[1]},{1[2]}'.format(goods,list))#(2, '康师傅方便面', 15, 2),3
print('{0[1][1]}'.format(goods,list))#康师傅方便面

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • wxPython窗口中文乱码解决方法

    wxPython窗口中文乱码解决方法

    这篇文章主要介绍了wxPython窗口中文乱码解决方法,在Python程序设计中比较常见,是非常实用的技巧,需要的朋友可以参考下
    2014-10-10
  • Python 求数组局部最大值的实例

    Python 求数组局部最大值的实例

    今天小编就为大家分享一篇Python 求数组局部最大值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python 中使用 PyMySQL模块操作数据库的方法

    Python 中使用 PyMySQL模块操作数据库的方法

    这篇文章主要介绍了Python 中使用 PyMySQL模块操作数据库的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Python2与Python3的区别点整理

    Python2与Python3的区别点整理

    在本篇文章里小编给大家整理的是关于Python2与Python3的区别点整理内容,需要的朋友们可以参考下。
    2019-12-12
  • Keras多线程机制与flask多线程冲突的解决方案

    Keras多线程机制与flask多线程冲突的解决方案

    这篇文章主要介绍了Keras多线程机制与flask多线程冲突的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • pandas基础 Series与Dataframe与numpy对二进制文件输入输出

    pandas基础 Series与Dataframe与numpy对二进制文件输入输出

    这篇文章主要介绍了pandas基础Series与Dataframe与numpy对二进制文件输入输出,series是一种一维的数组型对象,它包含了一个值序列和一个数据标签
    2022-07-07
  • 教你如何使用Python Tkinter库制作记事本

    教你如何使用Python Tkinter库制作记事本

    让我们看看如何使用 Tkinter 在 Python 中创建一个简单的记事本.这个记事本 GUI 将包含各种菜单,如文件和编辑,使用这些菜单可以完成保存文件、打开文件、编辑、剪切和粘贴等所有功能,需要的朋友可以参考下
    2021-06-06
  • Python3实现打格点算法的GPU加速实例详解

    Python3实现打格点算法的GPU加速实例详解

    这篇文章主要给大家介绍了关于Python3实现打格点算法的GPU加速的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友可以参考下
    2021-09-09
  • Python工厂模式实现封装Webhook群聊机器人详解

    Python工厂模式实现封装Webhook群聊机器人详解

    企业存在给 特定群组 自动推送消息的需求,你可以在群聊中添加一个自定义机器人,通过服务端调用 webhook 地址,即可将外部系统的通知消息即时推送到群聊中。本文就来和大家聊聊具体实现方法
    2023-02-02
  • pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)

    pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)

    这篇文章主要介绍了pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03

最新评论