モジュールのレッスン (4/4)
印刷と F ストリング
ユーザーに何かを伝えるため (または内部で何が起こっているかを見るため)
このプログラムでは、組み込みの print(...) 関数を使用します。作曲するには
複数の値からのテキストの場合、最新の推奨構文は次のとおりです。
f-文字列。
print(...)
print("Ciao, mondo!") # Ciao, mondo!
print("a", "b", "c") # a b c (separati da spazio)
print(2 + 2) # 4
print("riga 1", "riga 2") # riga 1 riga 2print は必要な数の引数を取ることができます。引数はスペースで結合されます (
デフォルト)、最後に改行を追加します。両方とも変更できます
sep および end パラメーター:
print("a", "b", "c", sep="-") # a-b-c
print("senza newline", end="") # niente \n dopof-string: 最新の補間
f-string は、中かっこ {...} の内側に f という接頭辞が付けられた文字列です。
任意の Python 式を挿入できます。これは評価されて、
結果:
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.中括弧内には呼び出し、操作、オブジェクトへのアクセスを入れることができます。 あらゆる点で Python コード:
prezzo = 12.5
quantita = 3
print(f"Totale: {prezzo * quantita:.2f} €")
# Totale: 37.50 €コロンの後の :.2f は 形式仕様 です。この場合は「10 進数 2 桁」です。
数字、固定小数点」。最も役立つフォーマット仕様:
:.Nf— N 桁の 10 進数 (f"{pi:.4f}"→3.1416)。:N/:>N/:<N/:^N— 幅 N、右/左/中央揃え。:_または:,— 千単位の区切り文字 (f"{1000000:,}"→1,000,000)。
代替構文 (参考)
f-strings (Python 3.6 で導入) より前は、2 つの形式が使用されていました。 古いコードではまだ次のような問題が発生します。
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)
# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)新しいコードの場合は、常に f-strings を使用してください。これにより、短く、読みやすく、高速になります。
f-stringsを使用した高度な書式設定
F 文字列は、中括弧内で直接、豊富な書式設定仕様をサポートします。たとえば、小数点以下 2 桁で 10 進数をフォーマットするには、次のように記述できます。
price = 19.99
print(f"Price: {price:.2f} $"):.2f 指定子は、浮動小数点数を小数点以下 2 桁で表現したいことを示します。
自分で試してみてください
`name = 'Ada'` および `age = 30` とすると、f-string を使用して文字列 'Ada ha 30 anni' を構築し、それを `line` に割り当てます。 「行」を評価します。
ヒントを表示
構文: f"何か {変数} 何か他のもの"
3 回の試行後に解決策が利用可能になります
復習演習
print() を使用して、小数点以下 2 桁の形式仕様を持つ f 文字列を使用して、`pi = 3.14159` で始まる文字列 'pi greco vale 3.14' を出力します。
ヒントを表示
形式仕様は中括弧内のコロンの後に続きます: {pi:.2f}。
3 回の試行後に解決策が利用可能になります
追加の課題
Given a variable `price` set to `19.99`, use an f-string to construct the string `'Price: 19.99 €'` and store it in `receipt_line`. Finally, evaluate the variable.
ヒントを表示
f"Price: {price} €" を使用し、結果を Recipe_line に割り当てます。
3 回の試行後に解決策が利用可能になります