9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Python】文字列と値の結合のいろいろ

Last updated at Posted at 2019-12-22

はじめに

<バージョン>
Python: 3.7.4

Pythonで文字列と値をそのまま結合するとエラーになります。

str_int.py
NAME="Taro"
AGE=15

print(NAME + " is " + AGE + " years old")

実行結果(失敗例)

文字列と値をそのまま結合出来ないのでエラーになりました。

出力
Traceback (most recent call last):
  File "str_int.py", line 5, in <module>
    print(NAME + " is " + AGE + " years old")
TypeError: can only concatenate str (not "int") to str

解決策

解決策はいろいろあります。個人的には2がプログラミングっぽくて好みです。
ポイントだけ書いておくと
1:str()を用いて、値(AGE)を文字列に変換する
2:%s=文字列、%d=値を表すのでこれを正しく書かないとエラーになる
4:先頭の「f」を忘れると、変数が代入されずに変数名の文字列がそのまま出力されます
5:「,」で繋げると自動でスペースを入れてくれ、かつstr()を使わなくてよくなります
<2019/12/22:項目5はkonandoiruasa様のご指摘により追加>

str_int2.py
NAME="Taro"
AGE=15

print("1 : " + NAME + " is " + str(AGE) + " years old")
print("2 : %s is %d years old" % (NAME, AGE))
print("3 : {} is {} years old".format(NAME, AGE))
print(f"4 : {NAME} is {AGE} years old")
print("5 :", NAME, "is", AGE, "years old")

実行結果(成功例)

どれでも上手くいきました。太郎君は15歳なのです。

出力
1 : Taro is 15 years old
2 : Taro is 15 years old
3 : Taro is 15 years old
4 : Taro is 15 years old
5 : Taro is 15 years old
9
10
0

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
9
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?