1. ホーム
  2. python

[解決済み] print(f"...")とは?

2022-03-03 04:06:39

質問

XMLファイルを入力し、XMLファイルを出力するPythonスクリプトを読んでいます。しかし、私は印刷構文を理解していない。どなたか fprint(f"...") はどうなんだ?

args = parser.parser_args()

print(f"Input directory: {args.input_directory}")
print(f"Output directory: {args.output_directory}")

解決方法は?

その f というのは フォーマットされた文字列リテラル で、これは新しい Python 3.6 .


A フォーマットされた文字列リテラル または f-文字列 は、文字列リテラルで をプレフィックスとする 'f' または 'F' . これらの文字列には、置換 フィールドは、中括弧で区切られた式です。 {} . 一方 他の文字列リテラルは常に定数値を持ちますが、フォーマットされた文字列は は、実際には実行時に評価される式である。


フォーマットされた文字列リテラルのいくつかの例。

>>> name = "Fred"
>>> f"He said his name is {name}."
"He said his name is Fred."

>>> 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

>>> today = datetime(year=2017, month=1, day=27)
>>> f"{today:%B %d, %Y}" # using date format specifier
January 27, 2017

>>> number = 1024
>>> f"{number:#0x}" # using integer format specifier
0x400