首页 > 编程语言 >Python 超好用的几种 f-string 方式,你都会吗 ?

Python 超好用的几种 f-string 方式,你都会吗 ?

时间:2024-04-15 10:34:10浏览次数:34  
标签:salary 月薪 string Python age 超好 pi name

Python 超好用的几种 f-string 方式,你都会吗 ?

f-string 是 Python 3.6 版本引入的一种字符串格式化方法,它允许我们将变量、表达式直接插入到字符串中。本文将介绍 f-string 的大部分使用方式,快来检查一下你是否全部都掌握了。

基本用法

f-string 是 Python 中用于字符串格式化的语法,在字符串前加上字母 f 然后使用花括号 {} 在字符串内容插入的变量、表达式。在运行时,这些花括号内的内容将被替换为对应的值。

插入变量

可以直接将变量名放在花括号中,f-string 会自动将其替换为变量的值。

>>> name = "正心全栈编程"
>>> f'{name} 是在 bilibili 发布视频'
'正心全栈编程 是在 bilibili 发布视频'

插入表达式

除了变量,还可以在花括号插入表达式,f-string 会将表达式的结果插入到字符串中。

>>> name = "正心全栈编程"
>>> age = 18
>>> f'{name} 今年 {age} 岁了,再过 2 年他就 { age + 2} 了'
'正心全栈编程 今年 18 岁了,再过 2 年他就 20 了'

插入函数

可以在 f-string 中调用函数,并将函数的返回值插入到字符串中。

>>> name = "正心全栈编程"
>>> age = 18
>>> import datetime
>>> def birth_year(age):
...     return datetime.datetime.now().year - age
...
>>> f'{name} 出生于 { birth_year(age) }'
'正心全栈编程 出生于 2005'

使用对象

f-string 也可以直接使用列表、字典与对象,但是需要注意单双引号。

>>> name = "正心"
>>> fruits = ["苹果", "香蕉", "橘子"]
>>> f"正心最喜欢的水果是 {fruits[-1]}。"
'正心最喜欢的水果是:橘子。'
>>> zx = {"name": "正心", "age": 18}
>>> f'{zx["name"]} 今年 {zx["age"]} 岁了'
'正心 今年 18 岁了'
>>> class Person:
...     def __init__(self, name, age):
...         self.name = name
...         self.age = age
...     def introduce(self):
...         return f"我的名字叫 {self.name} ,我今年已经 {self.age} 岁了。"
...
>>> person = Person("正心", 18)
>>> person.introduce()
'我的名字叫 正心 ,我今年已经 18 岁了。'

格式化语法

f-string 支持使用冒号(:)来指定格式化选项,例如保留小数位、填充字符、对齐方式、科学计数等。

保留小数位

>>> from math import pi
>>> pi
3.141592653589793
>>> f'pi 为 {pi:.2f}'
'pi 为 3.14'
>>> f'pi 为 {pi:.3f}'
'pi 为 3.142'
>>> f'pi 为 {pi:10.3f}' 
'pi 为      3.142'

占位、对齐与填充

>>> pi = 3.14
>>> f'pi 为 {pi:>5}'
'pi 为  3.14'
>>> f'pi 为 {pi:>10}'
'pi 为       3.14'
>>> f'pi 为 {pi:<10}'
'pi 为 3.14      '
>>> f'pi 为 {pi:^10}'
'pi 为    3.14   '
>>> f'pi 为 {pi:0^10}'
'pi 为 0003.14000'
>>> f'pi 为 {pi:$^10}'
'pi 为 $$$3.14$$$'

特殊计数

会计计数

>>> salary = 15000
>>> print(f'你的月薪为 {salary:_}')
你的月薪为 15_000
>>> print(f'你的月薪为 {salary:,}')
你的月薪为 15,000
>>> print(f'你的月薪为 {salary:10,}')
你的月薪为     15,000
>>> print(f'你的月薪为 {salary:10,.2f}')
你的月薪为  15,000.00
>>> print(f'你的月薪为 {salary:0>10,.2f}') 
你的月薪为 015,000.00

科学计数

>>> salary = 15000
>>> print(f'你的月薪为 {salary:e}') 
你的月薪为 1.500000e+04
>>> print(f'你的月薪为 {salary:5.2e}') 
你的月薪为 1.50e+04

标签:salary,月薪,string,Python,age,超好,pi,name
From: https://www.cnblogs.com/HeroZhang/p/18135330

相关文章

  • SpringBoot+Redis启动报错Unsatisfied dependency expressed through method 'stringR
    SpringBoot+Redis启动报错Applicationrunfailedorg.springframework.beans.factory.UnsatisfiedDependencyException:Errorcreatingbeanwithname'redisTool':Unsatisfieddependencyexpressedthroughfield'stringRedisTemplate';nestedexcep......
  • Python里的optparse
    Python里的optparse是一个强大的命令行选项解析库argument--参数在命令行中输入的字符串,并会被shell传给 execl() 或 execv()在Python中,参数将是 sys.argv[1:] 的元素注:sys.argv[0] 是被执行的程序的名称fromoptparseimportOptionParser#定义自己的用......
  • python项目位置迁移后,虚拟环境无法使用
    一、虚拟环境无法使用问题修改虚拟环境目录/pyvenv.cfg文件中的路径修改虚拟环境目录/scripts/activate.bat文件中**VIRTUAL_ENV参数**的值,改为当前虚拟环境的路径。另外,项目路径最好不要带中文,否则会导致虚拟环境无法使用(变成使用环境变量终端python)。来源:https://blog......
  • 苹果(MAC)操作系统(OSX)上设置Python3为Python命令启动的方式
    通过HomeBrew安装的Python启动命令为Python3,pip3HomeBrew安装Python的命令为:brewinstallpython然而,很多脚本里Python的启动命令为Python如何使OSX上的Python3命令通过Python启动呢?1.执行下列命令brewinfopython会得到如下输出信息:==>[email protected]:stable3......
  • python之if语法和for循环
    【语法】 图像   流程控制必备知识1.python中使用代码的缩进来表示代码的从属关系,如果两行代码缩进相同,就认为两代码属于平行关系,执行完上一行代码,就执行下一行代码。2.并不是所有的代码都可以拥有缩进的子代码。可以拥有缩进的子代码的代码有:if关键字3.如......
  • blender使用python创建长凳子模型
    importbpyimportmath#导入math模块#jianmodefjianMo(l,w,h,name='CafeBody',location_x=0,location_y=0,location_z=0):#定义咖啡馆的尺寸cafe_length=l#长度,单位:米cafe_width=w#宽度,单位:米cafe_height=h#高度,单位:米#......
  • blender使用python创建柜子模型
    importbpy#创建立方体并返回对象defcreate_cube(name,dimensions,location,parent=None):#执行添加立方体的操作bpy.ops.mesh.primitive_cube_add(size=dimensions[2],enter_editmode=False,location=location)#选择新创建的立方体cube_object......
  • python四则运算生成器
    合作伙伴:2252717在编程任务中,清晰地理解并规划设计思路是至关重要的。对于这个特定的四则运算题目生成器,目标是创建一个程序,能够随机生成包含两个运算符的数学题目,这些题目涉及100以内的数字,并确保所有生成的题目的答案都在0到100之间。以下是我在设计和实现这个程序时遵循的详细......
  • blender使用python创建床模型
    importbpyimportmath#导入math模块#jianmodefjianMo(l,w,h,name='CafeBody',location_x=0,location_y=0,location_z=0):#定义咖啡馆的尺寸cafe_length=l#长度,单位:米cafe_width=w#宽度,单位:米cafe_height=h#高度,单位:米#......
  • 结对编程--四则运算(Python)
    合作伙伴:2252720`importrandomdefgenerate_expression():operators=['+','-','×','÷']#可用的运算符operator=random.choice(operators)#随机选择一个运算符ifoperator=='+':num1=random.randint(0,100)#生成第一......