ホームページ >バックエンド開発 >Python チュートリアル >Python はどのようにして Ruby の #{} 構文に似た文字列補間を実現するのでしょうか?

Python はどのようにして Ruby の #{} 構文に似た文字列補間を実現するのでしょうか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-07 04:40:02575ブラウズ

How does Python Achieve String Interpolation Similar to Ruby's #{} Syntax?

Python の Ruby の文字列補間と同等

Ruby では、文字列補間は #{} 構文を使用して実現されます。例:

name = "Spongebob Squarepants"
puts "Who lives in a Pineapple under the sea? \n#{name}."

質問: Python には文字列を補間するための同等のメカニズムはありますか?

回答:

Python 3.6 以降、Ruby の #{} 補間に似た文字列補間構文が導入されました。 Python 3.6 以降では、f-strings 構文を使用して、次のように式を文字列に埋め込むことができます。

name = "Spongebob Squarepants"
print(f"Who lives in a Pineapple under the sea? {name}.")

Python 3.6 より前は、文字列補間に % 演算子が一般的に使用されていました。最初のオペランドは補間される文字列であり、2 番目のオペランドはフィールド名を補間される値に関連付ける「マッピング」にすることができます。

Python の .format() メソッドを使用して文字列補間を実現するには:

name = "Spongebob Squarepants"
print("Who lives in a Pineapple under the sea? {name!s}.".format(**locals()))

最後に、string.Template クラスは別のアプローチを提供します。

tmpl = string.Template("Who lives in a Pineapple under the sea? $name.")
print(tmpl.substitute(name="Spongebob Squarepants"))

以上がPython はどのようにして Ruby の #{} 構文に似た文字列補間を実現するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。