カンマ「,」とstr()+の違い Python
文字列と数値をセットで表示するときにカンマ「,」とstr()+の違いをあまり気にせずにプログラミングをしていましたが、ふと違いが気になったので調べたことと実際にColaboratoryで実行した様子を投稿します。
調べてわかったこと
●カンマ「、」はカンマで区切った数値と文字列を独立して表示します。
●str()+はstr()で囲んだ数値データを文字列に変換し、+で文字列と組み合わせます。
言葉だけじゃわからないので実際にColaboratoryで実行してみました。
以下がColaboratoryで実行したPythonコードと実行結果になります。
1 2 3 4 5 |
age=2020 kanji="密" print(age,"年 今年の漢字は",kanji,"です。")#・・① print(str(age)+"年 今年の漢字は"+str(kanji)+"です。")#・・② |

上の実行結果を見るだけではあまり違いがわからないですが、変数に入れて再度print文で表示させてみます。
1 2 3 4 5 6 7 |
age=2020 kanji="密" hikaku_1=age,"年 今年の漢字は",kanji,"です。"#・・① hikaku_2=str(age)+"年 今年の漢字は"+str(kanji)+"です。"#・・② print(hikaku_1) print(hikaku_2) |

変数に入れてprint文で表示させてみた方が違いがわかりやすいです。
①はカンマ「,」で区切った文は数値と文字列を独立して変数hikaku_1に格納されています。
②は数値と文字列が組み合わさって1つの文字列になって変数hikaku_2に格納されています。
試してみたことについて
1つ目 変数hikaku_1は4つの値がそれぞれ独立して格納されているので、一気に4つの変数を取り出せるか試してみました。
以下がColaboratoryで実行したPythonコードと実行結果になります。
1 2 3 4 5 6 7 8 9 |
age=2020 kanji="密" hikaku_1=age,"年 今年の漢字は",kanji,"です。"#・・① a,b,c,d=hikaku_1 print(a) print(b) print(c) print(d) |

実行結果から変数hikaku_1のカンマ「,」で区切った4つの部分が変数a,b,c,dにそれぞれ値が格納されます。
2つ目 str()+は数値と文字列を組み合わせるので、input()文の中でも数値と文字列が組み合わされるのか試してみました。
以下がColaboratoryで実行したPythonコードと実行結果になります。
※input()文はキーボード入力をする命令になります。
1 2 3 4 5 6 7 |
totall=0 for i in range(3): num=i+1 data=input(str(num)+"つ目の数字を入力")# data=int(data) totall+=data print(totall) |

実行結果からinput()文の中でも変数numの数字データがstr()+を使うことで文字列と組み合わさって”1つ目の数字を入力“が表示されています。