当前位置: 首页 > news >正文

Python f-string 用法详解

Python f-string 详解

f-string 是 Python 3.6 引入的一种字符串格式化方法,它使用前缀 fF,允许在字符串中直接嵌入表达式。

基本语法

f"字符串内容 {表达式}"

常用用法示例

1. 基本变量插入

name = "小明"
age = 25
print(f"我叫{name},今年{age}岁")
# 输出:我叫小明,今年25岁

2. 表达式计算

a = 10
b = 3
print(f"{a} + {b} = {a + b}")
# 输出:10 + 3 = 13print(f"圆的面积:{3.14 * 5 ** 2}")
# 输出:圆的面积:78.5

3. 调用函数和方法

name = "python"
print(f"大写:{name.upper()}")
# 输出:大写:PYTHONimport math
print(f"π的值:{math.pi}")
# 输出:π的值:3.141592653589793

4. 格式化数字

# 保留小数位数
pi = 3.1415926
print(f"π约等于:{pi:.2f}")
# 输出:π约等于:3.14# 百分比格式
score = 0.856
print(f"正确率:{score:.1%}")
# 输出:正确率:85.6%# 千分位分隔符
number = 1000000
print(f"金额:{number:,}")
# 输出:金额:1,000,000# 进制转换
num = 255
print(f"十进制:{num}, 十六进制:{num:#x}, 二进制:{num:b}")
# 输出:十进制:255, 十六进制:0xff, 二进制:11111111

5. 对齐和填充

text = "Python"
print(f"左对齐:|{text:<10}|")
print(f"右对齐:|{text:>10}|")
print(f"居中对齐:|{text:^10}|")
# 输出:
# 左对齐:|Python    |
# 右对齐:|    Python|
# 居中对齐:|  Python  |# 自定义填充字符
print(f"居中填充:|{text:*^10}|")
# 输出:居中填充:|**Python**|

6. 日期格式化

from datetime import datetime
now = datetime.now()
print(f"当前时间:{now:%Y-%m-%d %H:%M:%S}")
# 输出:当前时间:2024-01-15 14:30:25

7. 字典和对象访问

# 字典
person = {"name": "李华", "age": 20}
print(f"姓名:{person['name']},年龄:{person['age']}")
# 输出:姓名:李华,年龄:20# 对象
class Student:def __init__(self, name, score):self.name = nameself.score = scorestudent = Student("张三", 95)
print(f"学生:{student.name},分数:{student.score}")
# 输出:学生:张三,分数:95

8. 多行 f-string

name = "王五"
age = 30
hobby = "游泳"message = f"""
个人信息:
姓名:{name}
年龄:{age}
爱好:{hobby}
"""
print(message)

9. 条件表达式

score = 85
print(f"成绩:{score},等级:{'优秀' if score >= 90 else '良好' if score >= 80 else '及格'}")
# 输出:成绩:85,等级:良好

优势

  1. 可读性强:直接在字符串中嵌入变量,代码更清晰
  2. 性能好:比 % 格式化和 str.format() 更快
  3. 功能丰富:支持各种复杂的表达式和格式化选项
  4. 简洁直观:语法简单,易于理解和维护

f-string 是现代 Python 编程中最推荐的字符串格式化方式。


Python f-string 官方文档链接

以下是关于 Python f-string 的官方文档链接:

主要文档

1. 格式化字符串字面值 (Formatted string literals)

Python 3.12 文档
https://docs.python.org/3/reference/lexical_analysis.html#formatted-string-literals

Python 3.11 文档
https://docs.python.org/3.11/reference/lexical_analysis.html#formatted-string-literals

2. f-string 语法详细说明

Python 3.12 文档
https://docs.python.org/3/reference/lexical_analysis.html#f-strings

3. 格式规格迷你语言 (Format Specification Mini-Language)

这是 f-string 中格式化选项的完整参考:
https://docs.python.org/3/library/string.html#format-specification-mini-language

4. PEP 498 - 字面值字符串插值

这是引入 f-string 的原始提案:
https://peps.python.org/pep-0498/

相关文档

5. 字符串通用文档

https://docs.python.org/3/library/stdtypes.html#text-sequence-type-str

6. 字符串方法

https://docs.python.org/3/library/stdtypes.html#string-methods

文档要点摘要

根据官方文档,f-string 的主要特点:

  1. 前缀:使用 fF
  2. 表达式:用 {} 包围,可以包含任意 Python 表达式
  3. 转换字段:在表达式后可以添加 !r!s!a 进行转换
  4. 格式说明符:使用 : 后跟格式说明
  5. 等号说明符:Python 3.8+ 支持 {expr=} 来同时显示表达式和值

示例代码(来自官方文档)

>>> name = "Fred"
>>> f"He said his name is {name!r}."
"He said his name is 'Fred'."
>>> f"He said his name is {repr(name)}."  # repr() is equivalent to !r
"He said his name is 'Fred'."
>>> width = 10
>>> precision = 4
>>> value = decimal.Decimal("12.34567")
>>> f"result: {value:{width}.{precision}}"  # nested fields
'result:      12.35'
>>> f"{name = }"  # Python 3.8+
"name = 'Fred'"

建议直接阅读官方文档以获取最准确和最新的信息!

http://www.dtcms.com/a/443148.html

相关文章:

  • 广州做网站哪间公司好广东网站建设公司电话
  • 怎样在工商网站做遗失wordpress批量修改文章内链接
  • 百度网站v2升级到v3怎么做培训学校招生方案
  • 网站流量转化seo的宗旨是
  • [YMOJ]现代化开源OJ(在线编程)平台技术分享
  • 长沙自适应网站制作wordpress 页面 插件
  • 徐州的网站设计公司企业管理
  • 企业网站优化方案模板学做php网站有哪些
  • 网站建设需准备什么软件北京网站搭建开发
  • 网站稳定期怎么做海外精品网站建设
  • apache 配置网站公司域名注册查询
  • 浅谈高校图书馆网站建设公司装修费分几年摊销
  • 从工具到语境:Anthropic 双文启示下的 AI 代理工程实践心得
  • 做5173这样的网站要多少人5 网站建设进度表
  • 广东专业的网站制作江门cms模板建站
  • 教育机构网站制作模板宁波seo外包代运营
  • 网站建设的作用和用途做网站 学什么
  • 成都网站推广优化公司形容网站做的好处
  • Java学习笔记Day15
  • 湘潭自助建站系统展览馆设计公司排名
  • 电子商务网站规划建设方案网络销售的方法和技巧
  • 阿里巴巴网站的营销策略专用主机网站建设
  • 网站设计制作程序网站策划选题
  • 长沙手机网站公司开发项目的流程
  • 初识MYSQL —— 库和表的操作
  • 怎样做网站推广自己网站建设要维护
  • 常州网站建设公司报价网站安全监测
  • 网站建设的中期报告网页qq登陆聊天
  • 什么网站做执法仪商业网站开发设计报告
  • 海南省建设局网站搜索咋样做班级主页网站