※この記事はUdemyの
「現役シリコンバレーエンジニアが教えるPython3入門+応用+アメリカのシリコンバレー流コードスタイル」
の講座を受講した上での、自分用の授業ノートです。
講師の酒井潤さんから許可をいただいた上で公開しています。
##■文字の代入
#####◆{}
と.format()
>>> 'A is {}.' .format('a')
'A is a.'
>>> 'A is {}.' .format('test')
'A is test.'
{}
の部分に.format()
で指定した文字列が代入される。
#####◆どこに代入するかを指定する
>>> 'My name is {} {}.' .format('Tony', 'Stark')
'My name is Tony Stark.'
>>> 'My name is {0} {1}.' .format('Tony', 'Stark')
'My name is Tony Stark.'
>>> 'My name is {0} {1}. Watashi ha {1} {0} desu.' .format('Tony', 'Stark')
'My name is Tony Stark. Watashi ha Stark Tony desu.'
{}
が複数ある場合、前から順に代入される。
インデックスを指定してやると、そのインデックスに相当する文字列が代入される。
#####◆変数を用いて指定する
>>>Watashi ha {family} {name} desu.' .format(name = 'Tony', family = 'Stark')
Watashi ha Stark Tony desu.'
#####◆他の型のものはstr型に変換されて代入される
>>> type('1')
<class 'str'>
>>> type(1)
<class 'int'>
>>> '{}, {}, {}, Go!' .format('1', '2', '3')
'1, 2, 3, Go!'
>>> '{}, {}, {}, Go!' .format(1, 2, 3)
'1, 2, 3, Go!'
1
はint型であるが、str型に変換されて代入される。
##■f-strings
Python 3.6から、f-stringsが以下のように使えるようになった。
f-strings
a = 'a'
print(f'a is {a}')
x, y, z = 1, 2, 3
print(f'a is {x}, {y}, {z}')
print(f'a is {z}, {y}, {x}')
name = 'Tony'
family = 'Stark'
print(f'My name is {name} {family}. Watashi ha {family} {name} desu.')
result
a is a
a is 1, 2, 3
a is 3, 2, 1
My name is Tony Stark. Watashi ha Stark Tony desu.