LoginSignup
1

More than 3 years have passed since last update.

【Udemy Python3入門+応用】 14.文字の代入 15.f-strings

Posted at

※この記事は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.

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
1