跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
代码酷
搜索
搜索
中文(中国大陆)
外观
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
编辑“︁
Python F 字符串
”︁(章节)
页面
讨论
大陆简体
阅读
编辑
编辑源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
编辑
编辑源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
外观
移至侧栏
隐藏
您的更改会在有权核准的用户核准后向读者展示。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
= Python F-字符串 = F-字符串(Formatted String Literals)是Python 3.6引入的一种字符串格式化方法,它提供了一种简洁、直观的方式来嵌入表达式到字符串中。F-字符串以字母`f`或`F`为前缀,并使用大括号`{}`包含表达式,这些表达式会在运行时被求值并替换为对应的值。 == 基本语法 == F-字符串的基本语法如下: <syntaxhighlight lang="python"> f"字符串内容{表达式}字符串内容" </syntaxhighlight> 其中,`表达式`可以是变量、算术运算、函数调用等任何有效的Python表达式。 === 示例 === <syntaxhighlight lang="python"> name = "Alice" age = 25 print(f"My name is {name} and I am {age} years old.") </syntaxhighlight> '''输出:''' <pre> My name is Alice and I am 25 years old. </pre> == 表达式求值 == F-字符串中的表达式会在运行时被求值,这意味着可以在大括号内执行计算或调用函数。 === 示例 === <syntaxhighlight lang="python"> a = 5 b = 10 print(f"The sum of {a} and {b} is {a + b}.") </syntaxhighlight> '''输出:''' <pre> The sum of 5 and 10 is 15. </pre> == 格式化选项 == F-字符串支持多种格式化选项,可以通过在表达式后添加冒号`:`来指定格式。 === 数字格式化 === <syntaxhighlight lang="python"> pi = 3.1415926535 print(f"Pi rounded to 2 decimal places: {pi:.2f}") </syntaxhighlight> '''输出:''' <pre> Pi rounded to 2 decimal places: 3.14 </pre> === 对齐与填充 === <syntaxhighlight lang="python"> name = "Bob" print(f"{name:>10}") # 右对齐,宽度为10 print(f"{name:<10}") # 左对齐,宽度为10 print(f"{name:^10}") # 居中对齐,宽度为10 </syntaxhighlight> '''输出:''' <pre> Bob Bob Bob </pre> == 实际应用案例 == === 日志记录 === F-字符串非常适合用于日志记录,因为它可以方便地嵌入变量和表达式。 <syntaxhighlight lang="python"> user = "admin" action = "login" time = "12:30" print(f"[{time}] User '{user}' attempted to {action}.") </syntaxhighlight> '''输出:''' <pre> [12:30] User 'admin' attempted to login. </pre> === 动态SQL查询 === 在数据库操作中,F-字符串可以用于构建动态SQL查询(注意:在实际应用中应使用参数化查询以防止SQL注入)。 <syntaxhighlight lang="python"> table = "users" column = "name" value = "Alice" query = f"SELECT * FROM {table} WHERE {column} = '{value}'" print(query) </syntaxhighlight> '''输出:''' <pre> SELECT * FROM users WHERE name = 'Alice' </pre> == 高级用法 == === 嵌套大括号 === 如果需要在大括号内包含字面量的大括号,可以使用双大括号`{{`或`}}`。 <syntaxhighlight lang="python"> print(f"{{This is in braces}}") </syntaxhighlight> '''输出:''' <pre> {This is in braces} </pre> === 多行F-字符串 === F-字符串可以跨越多行,使用三引号`"""`或`'''`。 <syntaxhighlight lang="python"> name = "Charlie" message = f""" Hello {name}, Welcome to our platform! """ print(message) </syntaxhighlight> '''输出:''' <pre> Hello Charlie, Welcome to our platform! </pre> === 调用函数和方法 === 可以在F-字符串中直接调用函数或方法。 <syntaxhighlight lang="python"> def greet(name): return f"Hello, {name}!" user = "Dave" print(f"{greet(user)} How are you?") </syntaxhighlight> '''输出:''' <pre> Hello, Dave! How are you? </pre> == 性能比较 == F-字符串在性能上通常优于其他字符串格式化方法(如`%`格式化或`str.format()`),因为它们在编译时被转换为字节码,而不是在运行时解析。 === 性能测试示例 === <syntaxhighlight lang="python"> import timeit # 使用 % 格式化 time_percent = timeit.timeit('"Name: %s, Age: %d" % ("Alice", 25)', number=100000) # 使用 str.format() time_format = timeit.timeit('"Name: {}, Age: {}".format("Alice", 25)', number=100000) # 使用 f-string time_fstring = timeit.timeit('f"Name: {"Alice"}, Age: {25}"', number=100000) print(f"% formatting: {time_percent:.6f}") print(f"str.format(): {time_format:.6f}") print(f"f-string: {time_fstring:.6f}") </syntaxhighlight> '''输出(示例):''' <pre> % formatting: 0.012345 str.format(): 0.014567 f-string: 0.008901 </pre> == 总结 == F-字符串是Python中一种强大且高效的字符串格式化工具,适用于从简单到复杂的各种场景。它们不仅语法简洁,而且性能优越,是Python 3.6及以上版本推荐使用的字符串格式化方法。 [[Category:编程语言]] [[Category:Python]] [[Category:Python 字符串]]
摘要:
请注意,所有对代码酷的贡献均被视为依照知识共享署名-非商业性使用-相同方式共享发表(详情请见
代码酷:著作权
)。如果您不希望您的文字作品被随意编辑和分发传播,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)