文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python中f字符串以及其常见用法总结

2023-05-20 08:17

关注

前言

有个小伙伴看到之前写的Faker库相关文章中出现了f'{}' 这个东东,他问我是啥意思?

实际上,这个是使用到了 f-string 作为格式化的方法,为此简单罗列了一下 f-string 及其常见用法,给小伙伴们作为参考。

一、f-string是什么?

Python f-string 是执行字符串格式化的最新 Python 语法。自 Python 3.6 起可用。

Python f 字符串提供了一种更快,更易读,更简明且不易出错的在 Python 中格式化字符串的方式。f 字符串的前缀为f,并使用{}括号评估值。在冒号后指定用于类型,填充或对齐的格式说明符。例如:f'{price:.3f}',其中price是变量名, .3f 表明精度(保留三位小数)。

二、格式化常见用法

Python中常见的格式化方法有三种,分别是:

1. % 符号+格式指定符

2. format()函数

3. f-string

下面举个例子,结果都是“【张三】今年【18】岁”,但是使用了不同的格式化方法:

name = "张三"
age = 18
# 最原始提供的字符串替换方法,使用了 % 运算符和经典字符串格式指定,如 %s %d 等
print("【%s】今年【%d】岁" % (name, age))  # 【张三】今年【18】岁
# Python 3.0 新增了 format() 函数,可以提供高级的格式化选项
print("【{}】今年【{}】岁".format(name, age))  # 【张三】今年【18】岁
# Python 3.6 f-string出现,使得格式化方法更加灵活,字符串前缀为 f,并使用 {} 评估值
print(f"【{name}】今年【{age}】岁")  # 【张三】今年【18】岁

三、f-string常见用法汇总

下面分别举例说明 f-string的一些常见用法

1. f-string 中接收表达式

num = 12
price = 6
# f-string 中可以接收表达式
print(f'【{num}】个苹果,每个【{price}】元,一共要花【{num * price}】元')
# 【12】个苹果,每个【6】元,一共要花【72】元

2. f-string 可以对字典取值

user = {"name": "Ace", "job": "teacher"}
print(f'【{user["name"]}】的工作是【{user["job"]}】')
# 【Ace】的工作是【teacher】

3. f-string 针对多行数据进行格式化

name = "李四"
age = 28
job = "码农"
msg = (
    f'Name: {name}\n'
    f'Age: {age}\n'
    f'Job: {job}'
)  # 注意 msg 使用了 () 进行包裹
print(msg)
# Name: 李四
# Age: 28
# Job: 码农

4. f-string 中调用函数

def my_max(x, y):
    """
    三目运算比较两个数字大小
    :param x: int x
    :param y: int y
    :return: x 和 y 中较大的数字
    """
    return x if x > y else y
a = 3
b = 4
print(f'【{a}】和【{b}】中较大的是【{my_max(a, b)}】')
# 【3】和【4】中较大的是【4】

5. f-string 转义用法

print(f"Python 使用 {{}} 来计算f-string中的变量")
# Python 使用 {} 来计算f-string中的变量
print(f'你真的很\'厉害\'')  # 注意:单引号中想继续使用单引号,那就需要进行转义
# 你真的很'厉害'

6. f-string 格式化浮点数

val = 11
# 通过 : 后跟 浮点数标识 ,可以实现格式化浮点数
print(f'{val:.3f}')  # 11.000
print(f'{val:.4f}')  # 11.0000

7. f-string 格式化宽度

for i in range(1, 11):
    print(f'{i:02} {i * i:3} {i * i * i:4}')
# 01   1    1
# 02   4    8
# 03   9   27
# 04  16   64
# 05  25  125
# 06  36  216
# 07  49  343
# 08  64  512
# 09  81  729
# 10 100 1000

8. f-string 对齐字符串

s1 = 'a'
s2 = 'ab'
s3 = 'abc'
s4 = 'abcd'
# 将输出的宽度设置为十个字符。 使用 > 符号,让输出结果右对齐。
print(f'{s1:>10}')
print(f'{s2:>10}')
print(f'{s3:>10}')
print(f'{s4:>10}')
#          a
#         ab
#        abc
#       abcd
# 实际上,只要大于最大的字符串长度,就可以实现右对齐,感兴趣可以试下小于最大字符串长度会有什么表现

9. f-string 格式化时间

import datetime
now = datetime.datetime.now()
print(f'{now:%Y-%m-%d %H:%M}')
# 2023-04-02 21:07

10. f-string 接收对象 ,注意:对象必须定义了__str__()或__repr__()函数

class User:
    def __init__(self, name, job):
        self.name = name
        self.job = job
    def __repr__(self):
        return f"{self.name} is a {self.job}"
u = User('Ace', 'teacher')
print(f'{u}')
# Ace is a teacher

以上就是 f-string 常见的一些用法,使用f-string格式化数据可以更加灵活,满足多样化的需求,但注意,一定要Python3.6以上的版本才支持!

注意:Python3.6以上的版本才支持!

注意:Python3.6以上的版本才支持!

注意:Python3.6以上的版本才支持!

总结

到此这篇关于python中f字符串以及其常见用法总结的文章就介绍到这了,更多相关python中f字符串用法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯