Pythonの連結と型変換について
文字列同士の連結では
print("Hello" + "World") と記述すると
HelloWorldと出力される。
また数値同士の連結では
print(5 + 7) と記述すると
12が出力される。
ここで補足として、もし
print("5" + "7") と記述した場合は
57と出力されます。
では文字列と数値の連結はどうするのか
違うデータ型(文字列型、数値型)同士の連結はどの様に記述するのかであるが、
違う型同士を連結したまま出力しようとするとエラーが発生してしまいます。
例:
price = 300
print("りんごの価格は"+ price + "円です")
これを出力してみると
TypeError: can only concatenate str (not "int") to str
というエラーが発生してしまう。
これは文字列か数値どちらかに統一してと書いてあるので、
文字列を数値に、もしくは数値を文字列に変換する必要があります。
まず、文字列を数値に変換するには
例:
price = "300"
int(price) と記述すると数値に変換されます。
反対に数値を文字列に変換するには
例:
price = 300
str(price) と記述すると文字列に変換されます。
よって、先程エラーになってしまったコードを出力するには
price = 300
print("りんごの価格は"+ str(price) + "円です") と記述することで、
「りんごの価格は300円です」と出力することができます。