python中print格式化输出的问题


Posted in Python onApril 16, 2021

前言

福宝们,下午好啊。改版后的第4.5章阅读量有点少呀,不知道是不是拖更了一天的缘故。呜呜呜,以后一定要做个不拖更的好熊,所以今天继续爆肝第五章:print格式化输出。在写第三章的时候用到过其中一种: " f … {} " 的组合。之前的评论下面有小伙伴疑惑,那今天就来详细讲解一下这个东西,另外还有其他格式化的方式。那我们开始今天的学习吧。

提示:以下是本篇文章正文内容,下面案例可供参考

一、f-String格式化

所谓格式化输出,就是创建一个可以嵌入变量内容的字符串。如果不进行格式化,变量名就会被直接打印出来,发挥不了他的作用。所以我们现在开始讲之前用到的:f-String格式化。这个上面也说过,格式: f" … {} … ",其中你要在字符串里调用变量,需要把变量写在 " { } " 中,字符串的开头还要写个 " f " 。f 就代表着format,也就是格式化的意思。这个组合是固定的,缺一不可,你写出了 " f ",就相当于告诉了python,这是一个已经格式化的字符串。python就会去看那些变量,当然你要是前面写了f,中间没有写中括号,也是可以正常执行的。只不过没有去调用变量。

name = "痴月熊"
name2 = "憨憨熊"
age = 18
age2 = 19
print(f"{name}:下午好各位,我是{name},{age}的文艺小青年。这是我铁子{name2},他{age2},请多关照")
print(f"{name2}:嗷嗷嗷~")

RUN:

痴月熊:下午好各位,我是痴月熊,18的文艺小青年。这是我铁子憨憨熊,他19,请多关照
憨憨熊:嗷嗷嗷~

二、占位符

首先还是看个表,常见的占位符号

 

符号 意义
%d 整数
%f 浮点数
%s 字符串

占位符,顾名思义。就是在一段字符串中占一个位置,然后引用变量插进来。具体格式是 print("…%d…" % (变量)),下面还是直接通过练习来看一下效果。

name = "憨憨熊"
once = 1
num = 4.2
print("%s 最喜欢的事情就是打游戏,他最擅长的还是动作冒险类" % name)
print("魂斗罗他甚至只需要 %d 条命就可以通关" % once)
print("即使他两个眼睛都已经%f度了,还是不能放下游戏机" %num)

RUN:

憨憨熊 最喜欢的事情就是打游戏,他最擅长的还是动作冒险类
魂斗罗他甚至只需要 1 条命就可以通关
即使他两个眼睛都已经4.200000度了,还是不能放下游戏机

效果就是这样啦,当然也可以放在一起试一下。

name = "憨憨熊"
once = 1
num = 4.2
print("""
%s 最喜欢的事情就是打游戏,他最擅长的还是动作冒险类.
魂斗罗他甚至只需要 %d 条命就可以通关.
即使他两个眼睛都已经%f度了,还是不能放下游戏机
""" % (name,once,num))

RUN:

憨憨熊 最喜欢的事情就是打游戏,他最擅长的还是动作冒险类.
魂斗罗他甚至只需要 1 条命就可以通关.
即使他两个眼睛都已经4.200000度了,还是不能放下游戏机

使用占位符的时候,一定要想好变量的数据类型,如果你写了个%d,结果你放了个字符串进去就会报错。当然数字也可以作为字符串,你写成%s也可以执行。不过为了方便浏览,最好根据数据类型填入相应的占位符。另外如果你占位符是%d,你放了个浮点型进去,他就会给你强制转换为整数,反之也是一样的。如下:

num1 = 4.2
num2 = 4
print("%d" % num1)
print("%f" % num2)

RUN:

4
4.000000

三、format格式化

第三种就是利用format函数,在python里也叫方法。基本语法是在字符串中写入 " {} ",最后再字符串的末尾调用.format方法,将变量插入到{}。看起来是不是像f-string格式化,format格式化是在python2.6更新的,而f-string是在python3.6。当然个人认为这个用起来不太舒服,还是上面两个好用点。有很多时候,想要插入变量,都要在后面写一大堆参数。好麻烦! 以下就是效果啦。

name1 = "痴月熊"
name2 = "憨憨熊"
time = 12
num = 2
print("此时半夜{}点:\"呜呜呜, {}.\"".format(time,name1))
print("{name2},大晚上{time}点的,你在瞎叫啥".format(time=time, name2=name2))
print("我居然花了{}条命才过这个关卡".format(num))
print(f"{name1}心里独白:这玩意能一条命就过去的才不是正常熊吧。".format(name1=name1))
print("<玛丽奥制造>....")

RUN:

此时半夜12点:"呜呜呜, 痴月熊."
憨憨熊,大晚上12点的,你在瞎叫啥
我居然花了2条命才过这个关卡
痴月熊心里独白:这玩意能一条命就过去的才不是正常熊吧。
<玛丽奥制造>....

总结

我个人很喜欢用f-string格式化,不过还是得带大家了解一下。今天这章是和4.5是一块写的,一起收集的资料和练习来着。总结的话,我可以把上一章总结复制过来嘛,好的吧,那今天的总结就是奥利给!又是充满激情的一天,溜了溜了~

到此这篇关于python中print格式化输出的文章就介绍到这了,更多相关python print格式化输出内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用python实现生成用户信息
Mar 20 Python
django用户登录和注销的实现方法
Jul 16 Python
python开发游戏的前期准备
May 05 Python
python基于递归解决背包问题详解
Jul 03 Python
利用Python计算KS的实例详解
Mar 03 Python
Python进程间通信multiprocess代码实例
Mar 18 Python
python连接mysql有哪些方法
Jun 24 Python
零基础学python应该从哪里入手
Aug 11 Python
python使用多线程查询数据库的实现示例
Aug 17 Python
PyTorch中的拷贝与就地操作详解
Dec 09 Python
python中lower函数实现方法及用法讲解
Dec 23 Python
pytorch 如何使用float64训练
May 24 Python
CocosCreator ScrollView优化系列之分帧加载
深度学习tensorflow基础mnist
Python 多线程之threading 模块的使用
Apr 14 #Python
教你如何用python开发一款数字推盘小游戏
深度学习详解之初试机器学习
正确的理解和使用Django信号(Signals)
Apr 14 #Python
编写python程序的90条建议
Apr 14 #Python
You might like
php抓取页面与代码解析 推荐
2010/07/23 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
python 实现倒排索引的方法
2018/12/25 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
python读取指定字节长度的文本方法
2019/08/27 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
css3 2D图片转动样式可以扩充到Js当中
2014/04/29 HTML / CSS
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
Auchan Direct波兰:欧尚在线杂货店
2016/10/19 全球购物
纽约香氛品牌:NEST Fragrance
2018/10/15 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
给男朋友的道歉信
2014/01/12 职场文书
新郎婚宴答谢词
2014/01/19 职场文书
优秀应届毕业生自荐书
2014/06/29 职场文书
村级四风对照检查材料
2014/08/24 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
党支部承诺书
2015/01/20 职场文书
MySQL优化及索引解析
2022/03/17 MySQL
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android