Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

※この記事は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.
cyrus_qiita
医学生|フォトグラファー|プログラミング初心者
https://cyrus.tokyo
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away