稍息!立正!——print格式化输出

痴月熊学Python
文章目录
痴月熊学Python
往期文章
前言
一、f-String格式化
二、占位符
三、format格式化
总结
往期文章
*章:Python-新人报道
第二章:小学生都会的数学计算,痴月熊学Python
第三章:变量-从此你就叫张三了!,痴月熊学python
第四章:神奇的变身器-转义字符(改),痴月熊学python

前言
福宝们,下午好啊。改版后的第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.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条命才过这个关卡
痴月熊心里独白:这玩意能一条命就过去的才不是正常熊吧。
<玛丽奥制造>….