Pythonのformat関数の役割とは何か

Pythonのformat関数は文字列をフォーマットするための関数です。文字列内のプレースホルダーを、変数や式、あるいは指定した値で埋め込みます。

具体的には、「format」関数は以下の機能を実行できます。

  1. 文字列補間: {}内の変数や式により、文字列内にその値を埋め込みます。
  2. 数値のフォーマット: 数値は小数点以下桁数の指定やカンマ区切りなど、特定の形式でフォーマットできます。
  3. 对齐文本:可以将字符串靠左、靠右或居中对齐。
  4. 日付と時刻の書式設定:日付と時刻は特定の形式で書式設定できます。
  5. オブジェクトをフォーマットする方法は、カスタムクラスの__format__メソッドを使って定義できます。

例えば、`format` 関数を使用した実例を次に示します。

# 字符串插值
name = "Alice"
age = 25
print("My name is {} and I'm {} years old.".format(name, age))

# 格式化数字
num = 12345.6789
print("The formatted number is: {:.2f}".format(num))

# 对齐文本
text = "Hello"
print("{:<10}".format(text))  # 左对齐
print("{:>10}".format(text))  # 右对齐
print("{:^10}".format(text))  # 居中对齐

# 格式化日期和时间
import datetime
now = datetime.datetime.now()
print("Today is: {:%Y-%m-%d}".format(now))

# 格式化对象
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def __format__(self, format_spec):
        if format_spec == "summary":
            return "{} is {} years old.".format(self.name, self.age)
        else:
            return str(self)
    
    def __str__(self):
        return self.name

person = Person("Bob", 30)
print("Person: {:summary}".format(person))

結果の出力:

My name is Alice and I'm 25 years old.
The formatted number is: 12345.68
Hello     
     Hello
  Hello   
Today is: 2022-01-01
Person: Bob is 30 years old.

つまり、format関数は非常に柔軟かつ強力な文字列フォーマットツールであり、Pythonでは文字列処理、ログ記録、テキストレポートなどの場面で幅広く使用されています。

bannerAds