Help us understand the problem. What is going on with this article?

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

はじめに

<バージョン>
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
masa2223
インフラエンジニア歴2年(2018〜) 自動化ツール全般に興味があり、現在はAnsibleの勉強中。 初心者向けで見やすく、シンプルな記事作りを心がけてます。
ap-com
エーピーコミュニケーションズは「エンジニアから時間を奪うものをなくす」ため、ITインフラ自動化のプロフェッショナルとして、クラウドも含めたインフラ自動化技術で顧客の課題を解決すると同時に、SI業務の課題を解決するプロダクト・サービスを提供するNeoSIer(ネオエスアイヤー)です。
https://www.ap-com.co.jp/
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした