ホームページ >バックエンド開発 >Python チュートリアル >Python の f 文字列とその一般的な使用法の概要
友人が、私が以前書いた Faker ライブラリに関連する記事に f'{}' が登場しているのを見つけて、これはどういう意味ですかと尋ねました。
実際には、これはフォーマット方法として f-string を使用します。このため、友達が参照できるように、f-string とその一般的な使用法を簡単にリストします。
現在、Python f-string は文字列の書式設定を実行する最新の構文です。 Python 3.6 以降で利用可能です。
Python f-strings は、Python で文字列をフォーマットするための、より速く、より読みやすく、簡潔で、エラーが発生しにくい方法を提供します。 f 文字列には f という接頭辞が付けられ、値は {} 括弧を使用して評価されます。コロンの後に、型、パディング、または位置合わせの形式指定子を指定します。例: f'{price:.3f}'。price は変数名で、.3f は精度 (小数点以下 3 桁を保持) を示します。
Python には 3 つの一般的な書式設定メソッドがあります:
1. % シンボル書式指定子
2. 書式() function
3. f-string
以下は例です。結果はすべて「[Zhang San] は今年 [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 の一般的な使用法の例です
#1. f で式を受け取ります-stringnum = 12 price = 6 # f-string 中可以接收表达式 print(f'【{num}】个苹果,每个【{price}】元,一共要花【{num * price}】元') # 【12】个苹果,每个【6】元,一共要花【72】元
user = {"name": "Ace", "job": "teacher"} print(f'【{user["name"]}】的工作是【{user["job"]}】') # 【Ace】的工作是【teacher】
name = "李四" age = 28 job = "码农" msg = ( f'Name: {name}\n' f'Age: {age}\n' f'Job: {job}' ) # 注意 msg 使用了 () 进行包裹 print(msg) # Name: 李四 # Age: 28 # Job: 码农
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】
print(f"Python 使用 {{}} 来计算f-string中的变量") # Python 使用 {} 来计算f-string中的变量 print(f'你真的很\'厉害\'') # 注意:单引号中想继续使用单引号,那就需要进行转义 # 你真的很'厉害'
val = 11 # 通过 : 后跟 浮点数标识 ,可以实现格式化浮点数 print(f'{val:.3f}') # 11.000 print(f'{val:.4f}') # 11.0000
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
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 # 实际上,只要大于最大的字符串长度,就可以实现右对齐,感兴趣可以试下小于最大字符串长度会有什么表现
import datetime now = datetime.datetime.now() print(f'{now:%Y-%m-%d %H:%M}') # 2023-04-02 21:07
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
注: Python 3.6 以降でのみサポートされます。
注: Python 3.6 以降でのみサポートされます。
注: Python 3.6 以降でのみサポートされます。
以上がPython の f 文字列とその一般的な使用法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。