Python 3の文字列フォーマット文法を詳しく説明します。
一、古い文字列のフォーマット
%操作子
以下の例を参照してください。
str.formatは正しいです % 方式の改良は、一般的な関数で呼び出される文法を使用しており、オブジェクト自体を定義することによって、 __format()メソッドは文字列書式設定の具体的な挙動を制御します。
基本的な使い方:
基本的な使い方
以上は小编でご绍介したPython 3の文字列フォーマット文法です。皆さんに助けてほしいです。もし何かご质问がありましたら、メッセージをください。小编はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
本文があなたのためになると思ったら、転載を歓迎します。出所を明記してください。ありがとうございます。
%操作子
以下の例を参照してください。
>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'
複数の変数が文字列に挿入される必要がある場合:
>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello, Eric. You are 74.'
置換が必要な変数がさらに増えたときに使用します。 % オペレータが文字列をフォーマットすると、コードの可読性が悪くなります。
>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
str.format()str.formatは正しいです % 方式の改良は、一般的な関数で呼び出される文法を使用しており、オブジェクト自体を定義することによって、 __format()メソッドは文字列書式設定の具体的な挙動を制御します。
基本的な使い方:
>>> name = "Eric"
>>> age = 74
>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'
str.format()に対して % 操作はより強い柔軟性を持っています。たとえば、文字列に置き換えられた変数は、数値索引によって関連付けられます。
>>> name = "Eric"
>>> age = 74
>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'
コードの可読性を高めるために、 {} には、具体的な意味を持つパラメータ名も使用できます。
>>> name = "Eric"
>>> age = 74
>>> "Hello, {name}. You are {age}".format(name=name, age=age)
'Hello, Eric. You are 74'
辞書構造のデータ:
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'
またはより簡潔な方法:
>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(**person)
'Hello, Eric. You are 74.'
問題は、置換が必要な変数が多い場合、 str.format()方式は依然としてコードが長すぎるようになります。
>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, {first_name} {last_name}. You are {age}. \
You are a {profession}. You were a member of {affiliation}."\
.format(first_name=first_name, last_name=last_name, age=age, \
profession=profession, affiliation=affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'
二、f-string基本的な使い方
>>> name = "Eric"
>>> age = 74
>>> f"Hello, {name}. You are {age}."
'Hello, Eric. You are 74.'
埋め込み式
>>> f"{2 * 37}"
'74'
>>> def to_lowercase(input):
... return input.lower()
>>> name = "Eric Idle"
>>> f"{to_lowercase(name)} is funny"
'eric idle is funny'
>>> f"{name.lower()} is funny"
'eric idle is funny'
f−stringでは、あるオブジェクトのインスタンスを直接的に組み込むこともでき、その内部で実現されている限り、 __strまたは __プレス.方法:
class Comedian:
def __init__(self, first_name, last_name, age):
self.first_name = first_name
self.last_name = last_name
self.age = age
def __str__(self):
return f"{self.first_name} {self.last_name} is {self.age}"
new_comedian = Comedian("Eric", "Idle", 74)
print(f"{new_comedian}")
# Eric Idle is 74
f-string
>>> name = "Eric"
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> message = (
... f"Hi {name}. "
... f"You are a {profession}. "
... f"You were in {affiliation}."
... )
>>> message
'Hi Eric. You are a comedian. You were in Monty Python.'
締め括りをつける以上は小编でご绍介したPython 3の文字列フォーマット文法です。皆さんに助けてほしいです。もし何かご质问がありましたら、メッセージをください。小编はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
本文があなたのためになると思ったら、転載を歓迎します。出所を明記してください。ありがとうございます。