01
引言
大家好,我是AI算法之道!
Python是我最喜欢的编程语言之一,它向来以其简单性、多功能性和可读性而闻名。
在Python编程中有各种各样的小技巧,在本文中,我们将深入探讨Python3中关于字符串中F-Strings的六个高级用法,希望可以帮助到大家!
02
调试模式
x = 10
y = 20
print(f"x = {x}, y = {y}")
print(f"{x = }, {y = }")
# math operations
print(f"{x * y = }")
03
格式化数字
设置小数点位数:`:.nf`,其中n为小数点位数
十六进制转换 二进制转换
八进制转换
科学计算法转换
用前导零填充数字:`:0n`,其中n 是字符总数
number = 4200
print(f"number: {number:.2f}")
print(f"hex: {number:#0x}")
print(f"binary: {number:b}")
print(f"octal: {number:o}")
print(f"scientific: {number:e}")
print(f"Number: {number:09}")
print(f"Thousand separator: {number:,}")
number: 4200.00
hex: 0x1068
binary: 1000001101000
octal: 10150
scientific: 4.200000e+03
Number: 000004200
Thousand separator: 4,200
percentage = 0.1234
print(f"Percentage: {percentage:.2%}")
Percentage: 12.34%
04
日期格式化
无微秒
仅限日期
仅限时间
AM/PM 时间
24 小时制
import datetime
today = datetime.datetime.utcnow()
print(f"datetime : {today}\n")
print(f"date time: {today:%m/%d/%Y %H:%M:%S}")
print(f"date: {today:%m/%d/%Y}")
print(f"time: {today:%H:%M:%S.%f}")
print(f"time: {today:%H:%M:%S %p}")
print(f"time: {today:%H:%M}")
输出结果如下:
datetime : 2024-08-25 09:23:26.093653
date time: 08/25/2024 09:23:26
date: 08/25/2024
time: 09:23:26.093653
time: 09:23:26 AM
time: 09:23
05
Repr & Str
如果大家经常使用Python编写面向对象编程 (OOP),就应该熟悉双下划线方法 __repr__和 __str__。基本概念定义如下:
__repr__:对开发人员友好
__str__:对用户友好
from dataclasses import dataclass
class Person:
name: str
age: int
def __str__(self) -> str:
return f"{self.name} is {self.age} years old"
Elon = Person("Elon Musk", 51)
print(f"{Elon}") # str
print(f"{Elon!r}") # repr
输出结果如下:
Elon Musk is 51 years old
Person(name='Elon Musk', age=51)
在默认情况下(没有定义 __str__),打印对象会给出 __repr__输出。如果定义了 __str__,则需要使用 `!r` 来告诉 Python 打印 __repr__输出。
06
对齐
number = 4
print(f"number is {number:4}") # width of 4
# numbers
for number in range(1, 5):
print(f"the number is {number:{number}}")
left = "left text"
center = "center text!"
right = "right text"
print(f"{left:>20}") # left align
print(f"{center:^20}") # center align
print(f"{right:<20}") # right align
print(f"{left:<20}{center:^20}{right:>20}")
输出结果如下:
number is 4
the number is 1
the number is 2
the number is 3
the number is 4
left text
center text!
right text
left text center text! right text
注意上述代码中"number:n",这里,n表示打印变量number的宽度(包括变量本身)。我们可以选择左对齐、居中对齐或右对齐。
例如,"left:>20 "表示从左侧打印宽度为 20 个字符的字符串
`center:20` 表示将字符串 "center text!"居中,两边空格相等。由于 "center text!"有 12 个字符,因此两边各有 4 个空格。
07
多行格式化字符串
company_name = "Tesla"
employee_count = 100000
mission = "To accelerate the world's transition to sustainable energy"
print(f"""
Company: {company_name}
# of employees: {employee_count:,}
Mission: {mission}
"""
)
输出结果如下:
Company: Tesla
# of employees: 100,000
Mission: To accelerate the world's transition to sustainable energy
08
总结
本文重点介绍了python中字符串F-Strings格式化输出的六个高阶技巧,希望这些小技巧可以帮助到大家,提升大家的工作效率!
您学废了吗?
点击上方小卡片关注我
添加个人微信,进专属粉丝群!