Pythonのformat関数の役割とは何か
Pythonのformat関数は文字列をフォーマットするための関数です。文字列内のプレースホルダーを、変数や式、あるいは指定した値で埋め込みます。
具体的には、「format」関数は以下の機能を実行できます。
- 文字列補間: {}内の変数や式により、文字列内にその値を埋め込みます。
- 数値のフォーマット: 数値は小数点以下桁数の指定やカンマ区切りなど、特定の形式でフォーマットできます。
- 对齐文本:可以将字符串靠左、靠右或居中对齐。
- 日付と時刻の書式設定:日付と時刻は特定の形式で書式設定できます。
- オブジェクトをフォーマットする方法は、カスタムクラスの__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では文字列処理、ログ記録、テキストレポートなどの場面で幅広く使用されています。