广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么使用python的f-string格式化输出
  • 471
分享到

怎么使用python的f-string格式化输出

2023-06-01 23:06:29 471人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“怎么使用python的f-string格式化输出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!f-string简介pytho

本篇内容介绍了“怎么使用python的f-string格式化输出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

f-string简介

python3.6引入了一种新的字符串格式化方式:f-tring格式化字符串。从%s格式化到fORMat格式化再到f-string格式化,格式化的方式越来越直观,f-string的效率也较前两个高一些,使用起来也比前两个简单一些。

同时值得注意的是,f-string就是在format格式化的基础之上做了一些变动,核心使用思想和format一样,因此大家可以学习完%s和format格式化,再来学习f-string格式化。

f-string的常见使用方式

1 基本使用

① f-string用大括{ }表示被替换字段,其中直接填入替换内容即可。

>>> name = "Huang Wei"
>>> f"Hello, my name is {name}"
'Hello, my name is Huang Wei'

>>> num = 2
>>> f"I have {num} apples"
'I have 2 apples'

>>> price = 95.5
>>> f"He has {price}$"
'He has 95.5$'

2 表达式求值与函数调用

① f-string的大括号{ }可以填入表达式或调用函数,Python会求出其结果并填入返回的字符串内。

>>> f"They have {2+5*2} apples"
'They have 12 apples'

>>> name = "Huang Wei"
>>> f"my name is {name.lower()}"
'my name is huang wei'

>>> import math
>>> f"Π的值为{math.pi}"
'Π的值为3.141592653589793'

② f-string中使用lambda匿名函数:可以做复杂的数值计算

>>> aa = 123.456
>>> f"{(lambda x:x*5-2)(aa):.2f}"
'615.28'

>>> bb = 8
>>> cc = 2
>>> f"{(lambda x,y:x+y)(bb,cc)}"
'10'

说明:注意语法格式的写法,第一个小括号表示的是lambda表达式,第二个小括号表示给lambda表达式传入参数。

3 f-string中引号使用存在的问题

① f-string大括号内使用的引号不能和大括号外的引号定界符引号冲突,需根据情况灵活切换使用单引号、双引号、单三引号、双三引号。

>>> f'I am {"Huang Wei"}'
'I am Huang Wei'

>>> f'''I am {'Huang Wei'}'''
'I am Huang Wei'

>>> f"""I am {'Huang Wei'}"""
'I am Huang Wei'

>>> f"""I am {"Huang Wei"}"""
'I am Huang Wei'

>>> f'I am {'Huang Wei'}'
  File "<stdin>", line 1
    f'I am {'Huang Wei'}'
                 ^
SyntaxError: invalid syntax

注意:只要大括号内外的引号不同,就没有问题。但是大括号中只能是但引号和 双引号 ,大括号外的引号定界符引号可以使用单引号、双引号、单三引号、双三引号。

② 大括号外的引号还可以使用\转义,但大括号内不能使用\转义。

>>> f"he\'ll Go to {'shang hai'}"
"he'll go to shang hai"

>>> f"""he introduces himself {"I\'m Tom"}"""
  File "<stdin>", line 1
SyntaxError: f-string expression part cannot include a backslash

>>> f"""he introduces himself {"I'm Tom"}"""
"he introduces himself I'm Tom"

4 f-string中大括号使用存在的问题

① f-string大括号外如果需要显示大括号,则应输入连续两个大括号{{ }};大括号内需要引号,使用引号即可。

>>> f"5{'{apples}'}"
'5{apples}'

>>> f"{{5}}{'apples'}"
'{5}apples'

5 f-string填充

① 什么是填充?

  概念:当我们指定了字符串最终的长度的时候,如果现有的字符串没有那么长,那么我们就用某种字符(填充字符)来填满这个长度,这就是“填充”。

② 演示代码如下:默认使用空格填充

>>> name = "Huang Wei"
>>> f"{name:>20}"
'           Huang Wei'

>>> f"{name:<20}"
'Huang Wei           '

>>> f"{name:^20}"
'     Huang Wei      '

③ 用指定字符进行填充

>>> name = "Huang Wei"
>>> f"{name:_>20}"
'___________Huang Wei'

>>> f"{name:_<20}"
'Huang Wei___________'

>>> f"{name:_^20}"
'_____Huang Wei______'

注意:填充分为左填充、右填充、居中填充。左填充表示在字符串左侧填充,右填充表示在字符串右侧填充,居中填充表示在字符串左右两侧对称填充。>表示左填充,<表示右填充,^表示居中填充。记忆方法:括号口朝左边,就表示左填充;括号口朝右边,就表示右填充。

6 f-string数字符号相关格式描述符:仅针对数值有效

>>> a = 12
>>> b = -25
>>> f"{a:+}"
'+12'
>>> f"{b:+}"
'-25'

>>> f"{a:-}"
'12'
>>> f"{b:-}"
'-25'

>>> f"{a: }"
' 12'
>>> f"{b: }"
'-25'

结论如下:

怎么使用python的f-string格式化输出

7 f-string宽度与精度相关格式描述符:保留小数点位数

① 语法格式如下

怎么使用python的f-string格式化输出

② 演示代码如下

>>> a = 123.456
# 只指定width
>>> f"{a:10}"
'   123.456'
# 只指定0width
>>> f"{a:010}"
'000123.456'
# 使用width.precision
>>> f"{a:8.1f}"
'   123.5'
>>> f"{a:8.2f}"
'  123.46'
>>> f"{a:.2f}"
'123.46'
# 在width后面,直接加f,表示补足小数点后的位数至默认精度6
>>> f"{a:2f}"
'123.456000'

8 f-string截断与填充的结合使用

  当需要格式化的数据类型是“字符串”的时候,才会发生截断。截断的含义,以及发生截断的条件,都可以可参考我文章开头提到的文章。

>>> a = "Hello"
# 当发生截断的时候,如果不指定填充符,默认使用空格填充
>>> f"{a:10.3}"
'Hel       '
# 在发生截断的时候,使用指定的填充符
>>> f"{a:_>10.3}"
'_______Hel'
>>> f"{a:_<10.3}"
'Hel_______'

9 f-string针对date、datetime和time对象,进行年月日、时分秒等信息提取

>>> from datetime import *
# today()返回本地时间的一个date对象
>>> a = date.today()
>>> a
datetime.date(2020, 2, 1)
>>> f"{a:%Y-%m-%d}"
'2020-02-01'

说明:针对date、datetime和time对象,进行年月日、时分秒等提取,我们直接可以使用datetime模块中的方法就可以解决。这里讲述这个知识点,只是为了说明f-string处理date、datetime和time对象的一种可行思路。

关于datatime模块的讲解,可以参考连载文章:https://blog.csdn.net/weixin_41261833/article/details/103895079

综合案例

使用%、format、f-string打印九九乘法表

怎么使用python的f-string格式化输出

① %s方式

for i in range(1,10):
    for j in range(1,i+1):
        print("%s*%s=%s" % (j,i,j*i),end=" ")
    print("\n")

结果如下:

怎么使用python的f-string格式化输出

② format方式

for i in range(1,10):
    for j in range(1,i+1):
        print("{0}*{1}={2}".format(j,i,j*i),end=" ")
    print("\n")

结果如下:

怎么使用python的f-string格式化输出

③ f-string方式

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={j*i}",end=" ")
    print("\n")

结果如下:

怎么使用python的f-string格式化输出

“怎么使用python的f-string格式化输出”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 怎么使用python的f-string格式化输出

本文链接: https://www.lsjlt.com/news/228040.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用python的f-string格式化输出
    本篇内容介绍了“怎么使用python的f-string格式化输出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!f-string简介pytho...
    99+
    2023-06-01
  • python中三种输出格式总结(%,format,f-string)
    目录python的三种输出格式1. % (不推荐使用)2. format3. f-string对比总结python的三种输出格式 环境:pycharm + python3.8 1. ...
    99+
    2022-11-13
  • python %f格式化输出float的三种用法
    %f是什么 %f是python内置的格式化输出符号,主要用于输出浮点数,一般需要跟print()内置函数进行搭配使用。下面的内容将介绍三种%f的用法。 一、%f输出浮点数的基本用法 %f输出浮点数,可能会保留小数点后6位数,下方实例中...
    99+
    2023-10-10
    python 开发语言 Powered by 金山文档
  • Python f-string字符串格式化的方式
    本篇内容主要讲解“Python f-string字符串格式化的方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python f-string字符串格式化的方式”吧!1、python支持字符串格...
    99+
    2023-06-20
  • Python格式化字符串f-string的使用教程
    目录楔子实现 repr 打印整数的进制转换整数的填充浮点数的小数保留任意字符的填充日期的截取f-string 的注意事项小结楔子 在 Python3.6 之前,格式化字符串一般会使用...
    99+
    2022-11-11
  • 浅谈Python的格式化输出
    python的输出 python输出中的print()函数,直接引用即可,它的完整格式为: #最后面还有文件操作的,我们主要学习输出相关,所以暂不加入 print(object,...
    99+
    2022-11-12
  • python 3 用户输入和格式化输出
    # -*- coding:utf-8 -*- #用户输入 && 格式化输出 #getpass 模块是内置的,可以将输入的内容隐藏 import getpass username = input("username:") pa...
    99+
    2023-01-31
    用户 python
  • 怎么在python中使用f方法格式化字符串
    怎么在python中使用f方法格式化字符串?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对...
    99+
    2023-06-14
  • python中的格式化输出方法
    目录1 使用字符串模运算符(%)格式化输出2 使用 format 方法格式化输出​3 使用 String 方法格式化输出前言: 有几种方法可以显示程序的输出。 数据可以以人类可读的形...
    99+
    2022-11-13
  • 使用Python怎么在数据库中格式化输出文档
    使用Python怎么在数据库中格式化输出文档?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。思路首先,数据已经录入库,需要python能读取数据库,可使用mysq...
    99+
    2023-06-08
  • python中的格式化输出用法总结
    本文实例总结了python中的格式化输出用法。分享给大家供大家参考,具体如下: Python一共有两种格式化输出语法。 一种是类似于C语言printf的方式,称为 Formatting Expression...
    99+
    2022-06-04
    python
  • python格式化输出方法是什么
    本篇内容介绍了“python格式化输出方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#初级版本的格式化输出name =&...
    99+
    2023-06-02
  • 怎么在python中利用print函数格式化输出
    今天就跟大家聊聊有关怎么在python中利用print函数格式化输出,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack...
    99+
    2023-06-14
  • mysql时间怎么格式化输出
    mysql时间格式化输出的方法:在mysql中执行以下sql语句格式化即可。select now(); #获取当前时间select date_format(now(),'%Y-%m-%d %H...
    99+
    2022-10-03
  • python中实现格式化输出 %用法
    当我们在python中需要打印出特定格式的内容时可以用到这个方法,方法介绍如下: 例如我们现在要收集用户的一些个人信息,这时候我们的代码如下:   name=input("name: ")age=int(input("age: "))jo...
    99+
    2023-01-30
    python
  • python常见的格式化输出小结
    本文总结了一些简单基本的输出格式化形式,下面话不多说了,来看看详细的介绍吧。 一、打印字符串 >>> print "I'm %s" % ("jihite") I'm jihite ...
    99+
    2022-06-04
    小结 常见 python
  • Python格式化输出的具体实现
    目录“%”的使用字符串输出(%s)浮点数输出(%f)format的使用位置匹配格式转换高阶用法format变形用法“%”的使用 格式符...
    99+
    2022-11-11
  • python中print格式化输出的问题
    前言 福宝们,下午好啊。改版后的第4.5章阅读量有点少呀,不知道是不是拖更了一天的缘故。呜呜呜,以后一定要做个不拖更的好熊,所以今天继续爆肝第五章:print格式化输出。在写第三章的...
    99+
    2022-11-12
  • Python格式化输出的几种汇总
    目录Python中三种格式化输出的方式第一种第二种  第三种 format方法位置映射关键字映射元素访问填充对齐精度设置总结Python中三种格式化输出...
    99+
    2023-02-14
    Python格式化 Python格式化输出 py格式化输出
  • Python(21)json.dumps()使用indent参数 格式化输出json数据格式
    json.dumps() 方法 将一个Python数据结构转换为JSON字符串 import jsondata = [{"name":"张","age":20},{"name":"王","age":2...
    99+
    2023-09-02
    python json 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作