python中print格式化输出的问题

前言

福宝们,下午好啊。改版后的第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格式化输出内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中使用pprint函数进行格式化输出的教程

    pprint – 美观打印 作用:美观打印数据结构 pprint 包含一个"美观打印机",用于生成数据结构的一个美观视图.格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地解析,而且便于人类阅读.输出尽可能放在一行上,分解为多行时则需要缩进. 以下实例用用到的data包含一下数据 data = [(1,{'a':'A','b':'B','c':'C','d':'D'}), (2,{'e':'E','f':'F','g':'G','h':'H', 'i':'I','j':'J',

  • python:print格式化输出到文件的实例

    遇到一个写文件的小程序,需要把print输出改成输出到文件,遇到这个问题的思路是把需要的字符串拼接到一个字符串中,然后在写到文件中,这样做觉得很麻烦,想到之前的学的exec的使用,但是实验后发现exec没有返回值,无法将输出保存在变量中. 查过资料后,发现可以把print的输出直接写到文件里,不需要中间的保存过程,非常有效方便. 格式:print >> fp,格式串 #fp为文件句柄 data=open("D:\data.txt",'w+') print>>da

  • 浅谈Python 字符串格式化输出(format/printf)

    Python 字符串格式化使用 "字符 %格式1 %格式2 字符"%(变量1,变量2),%格式表示接受变量的类型.简单的使用例子如下: # 例:字符串格式化 Name = '17jo'   print 'www.%s.com'%Name   >> www.17jo.com Name = '17jo' Zone = 'com' print 'www.%s.%s'%(Name,Zone) >> www.17jo.com 字符串格式化时百分号后面有不同的格式符号,代表

  • 在python中用print()输出多个格式化参数的方法

    不废话,直接贴代码: disroot = math.sqrt(deta) root1 = (-b + disroot)/(2*a) root2 = (-b - disroot)/(2*a) print("有两个不同的解: %.2f,%.2f"%root1,%root2) 这是最初写的print()代码,不过运行时总提示TypeError 后来上网查了好多资料,发现格式根本不是这样子的,是我想当然了 disroot = math.sqrt(deta) root1 = (-b + disr

  • python print 格式化输出,动态指定长度的实现

    假如有一组字符,长度未知,进行格式化对其.首先算出所有字符中最长的.然后再进行格式化输出. print %s固定长度格式输出: print("%10s,%20s"%(A,B)) 如果长度不定,以变量len代替: print("%*s"%(len,A)) 其他操作待续 补充知识:Python 以指定宽度格式化输出(format) 当对一组数据输出的时候,我们有时需要输出以指定宽度,来使数据更清晰.这时我们可以用format来进行约束. mat = "{:20

  • python中print格式化输出的问题

    前言 福宝们,下午好啊.改版后的第4.5章阅读量有点少呀,不知道是不是拖更了一天的缘故.呜呜呜,以后一定要做个不拖更的好熊,所以今天继续爆肝第五章:print格式化输出.在写第三章的时候用到过其中一种: " f - {} " 的组合.之前的评论下面有小伙伴疑惑,那今天就来详细讲解一下这个东西,另外还有其他格式化的方式.那我们开始今天的学习吧. 提示:以下是本篇文章正文内容,下面案例可供参考 一.f-String格式化 所谓格式化输出,就是创建一个可以嵌入变量内容的字符串.如果不进行格式

  • python中的格式化输出用法总结

    本文实例总结了python中的格式化输出用法.分享给大家供大家参考,具体如下: Python一共有两种格式化输出语法. 一种是类似于C语言printf的方式,称为 Formatting Expression >>> '%s %d-%d' % ('hello', 7, 1) 'hello 7-1' 另一种是类似于C#的方式,称为String Formatting Method Calls >>> '{0} {1}:{2}'.format('hello', '1', '7'

  • python中的格式化输出方法

    目录 1使用字符串模运算符(%)格式化输出 2使用format方法格式化输出 ​3使用String方法格式化输出 前言: 有几种方法可以显示程序的输出. 数据可以以人类可读的形式打印,或写入文件以供将来使用,甚至可以以某种其他指定的形式. 用户通常希望对输出格式进行更多控制,而不是简单地打印以空格分隔的值. 有几种方法可以格式化输出. 要使用格式化字符串文字,请在左引号或三引号之前以 f 或 F 开始字符串. 字符串的format() 方法可帮助用户创建更精美的输出. 用户可以通过使用字符串切片

  • python中print的不换行即时输出的快速解决方法

    关于Python2.x和3.x带来的print不换行的问题:昨天有发过推文,利用end = 定义,解决了横向的小问题,但是由于屏幕显示的问题,若字符串长度过大,则会引起不便.两个或多个print做分割的情况下,如何保持依然横向输出,一般的是在print尾部加上逗号(,)但是在3.x下,则不行,需要使用end = "(something)",some signs like , . ; 'also you can put a word or str in"". Exam

  • Python实现字符串格式化输出的方法详解

    本文实例讲述了Python实现字符串格式化输出的方法.分享给大家供大家参考,具体如下: python属于强类型的语言,如果像java一样操作字符串和数字的"+"时,会出现TypeError.而python的格式化方法有多种,比如使用占位符,使用format,或者是自定义模版等等.这里介绍了其中的几种方法 下面这个例子很好的说明了python属于强类型语言: print "abc" + 123 Traceback (most recent call last): Fi

  • python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解

    python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能. python中: print("hello,world!") 输出结果为:hello,world! java中: System.out.print("hello,world!"); 输出结果为:hello,world! 我们可以看到,这两个函数的用法是一样的 print()函数还有这种用法: print("1+1=",1+1) 输出结

  • Python中format()格式输出全解

    格式化输出:format() format():把传统的%替换为{}来实现格式化输出 1.使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串,位置参数就是把传统的%改为{},按照位置顺序自动进行替换 'My name is {},age:{}'.format('Anxc',18) 'My name is Anxc,age:18' 2.使用位置参数:在原有基础上,通过位置的改变来让替换的值根据位置改变(自我感觉没什么用,还不如第一个好用)

  • Python中print函数简单使用总结

    print函数是Python的入门,每一个学习python的人都绕不开这个函数,下面介绍一下这个函数的用法. 打开电脑,选择python软件,下面选择python 3.7为例进行介绍,点击python 3.7,就进入了python的命令行界面. python函数的格式是print(),然后再括号内输入想要在屏幕上面显示的内容,如果是数字等内容,可以直接输入print(a),如下图所示. 如果想连续输入内容,那么不同的变量之间可以用英文逗号隔开.如下图所示.比如想连续输出a,b,c,那么可以这样写

随机推荐