2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【初心者向け】Pythonのプレースホルダー使い方まとめ

Last updated at Posted at 2024-07-02

Pythonのプレースホルダーがよくわからなくて、chatgptに教えてもらったらわかりやすかったのでメモ。

プレースホルダーとは

変数やデータ構造において、一時的なデータや仮の値を設定するために使用されます。
文字列の中にある{}を見たことはないでしょうか?
これを置くことで文字列の中に変数を埋め込むことができます。

文字列フォーマット

Pythonのstr.format()メソッドやf-strings(フォーマット済み文字列リテラル)で、{}はプレースホルダーとして使用されます。

str.format()メソッド

str.format()メソッドを使用すると、文字列内の{}を特定の値に置き換えることができます。
例:

name = "Alice"
age = 30
formatted_string = "My name is {} and I am {} years old.".format(name, age)
print(formatted_string)

出力:

My name is Alice and I am 30 years old.

f-strings(Python 3.6以降)

f-stringsを使用すると、変数や式を{}の中に直接埋め込むことができます。
こちらはstr.format()メソッドより簡素でわかりやすいですね。
f-stringsは、文字列リテラルの前にfまたはFを付け、{}の中に変数や式を書きます。Pythonは波括弧内の内容を評価し、その結果を文字列に埋め込みます。

例:

name = "Alice"
age = 30
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string)

出力:

My name is Alice and I am 30 years old.

str.format()メソッドでの詳細なフォーマット

str.format()メソッドでは、{}内に番号や名前を指定して、置き換える値を指定することができます。

位置引数によるフォーマット

位置引数を使用して、フォーマットする順序を指定できます。

formatted_string = "My name is {0} and I am {1} years old.".format(name, age)

名前付き引数によるフォーマット

名前付き引数を使用して、より読みやすいフォーマットができます。

formatted_string = "My name is {name} and I am {age} years old.".format(name="Alice", age=30)

f-stringsでの詳細なフォーマット

f-stringsでは、{}内に式やフォーマット指定子を含めることができます。

1. 式の埋め込み

a = 5
b = 10
print(f"The sum of {a} and {b} is {a + b}.")

出力:

The sum of 5 and 10 is 15.

2. フォーマット指定子

例えば、小数点以下の桁数を指定することができます。

value = 3.14159
print(f"Value: {value:.2f}")

出力:

Value: 3.14

3. 辞書の使用

辞書のキーを使って値を埋め込むこともできます。

person = {"name": "Alice", "age": 30}

greeting = f"Name: {person['name']}, Age: {person['age']}"
print(greeting)  # Name: Alice, Age: 30

4. 関数呼び出し

f-strings内で関数を呼び出すことも可能です。

def greet(name):
    return f"Hello, {name}!"

message = f"{greet('Alice')}"
print(message)  # Hello, Alice!

5. 日付のフォーマット

日付をフォーマットするためにもf-stringsを使用できます。

from datetime import datetime

now = datetime.now()

formatted_date = f"Current date and time: {now:%Y-%m-%d %H:%M:%S}"
print(formatted_date)  # Current date and time: 2024-07-02 10:30:45

6. エスケープシーケンス

{} 自体を文字列に含めたい場合は、エスケープする必要があります。

escaped_braces = f"{{This is a literal brace}}"
print(escaped_braces)  # {This is a literal brace}

パフォーマンス

f-stringsは他の文字列フォーマット方法に比べて高速です。これは、f-stringsがPythonのコンパイル時に直接評価されるためです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?