【Python】文字列と文字列をくっつけよう!「関数」の基本もマスターするよ

【Python】文字列と文字列をくっつけよう!「関数」の基本もマスターするよ

文字列同士をくっつけよう!

前回の記事で基本的な文字列の使い方をマスターしたよね。次は「文字列の連結」というのをやってみるよ。言葉にすると難しそうだけど、とってもカンタンだ。「文字と文字をくっつける」ってだけだよ!

「+」や「*」で文字列の連結ができる!

数字の足し算をするときは「+」って演算子を使うことは前にやったよね。でも実は「+」で文字列同士をくっつけることもできるんだ!

実際にやってみよう。「abc」と「def」を繋げたいときはこんな風に書く。

>>> print("abc"+"def")
	  
abcdef

ちゃんと文字を繋げた「abcdef」という文字列が返ってきたね。これが文字列の連結だ!どんどん文字を繋げていくこともできるよ。

>>> print("abc"+"def"+"ghi"+"jkl")
	  
abcdefghijkl

また、掛け算の計算で使った「*」の演算子も文字列に使うことが出来るんだ。

>>> print("abc"*3)
	  
abcabcabc

「abc」が3倍されて、3個繋がった文字列が返ってきたね!

文字列と数字を連結する

じゃあ今度は文字列と数字を連結させてみるよ。こんな風に書いて見るとどうなるだろう?

>>> print("abc"+123)

これはエラーになっちゃうんだ。

>>> print("abc"+123)
	  
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    print("abc"+123)
TypeError: must be str, not int

エラーになる理由は、文字列と数字をごっちゃにしてるから。この2つはハッキリ区別しないとうまく動いてくれない。それじゃあ今度はこんな風に書いてみる。

>>> print("abc"+"123")

これなら上手く行った。「””」が文字列だって区別するための目印になってるんだね。

>>> print("abc"+"123")
	  
abc123

計算結果と文字列を連結する!

数字と文字列をごっちゃにしちゃいけないと言ったけど、組み合わせて使いたいときだってある。たとえば「abc」という文字列と「7×8」の計算結果を連結させてみよう。7×8は56だから「abc56」となれば成功だ。そのまま書くとこうなるね。

>>> print("abc"+"7*8")

でも実行結果はこうなってうまくいかない。

abc7*8

“7*8″はあくまで文字列だから、数字として扱わないと計算してくれないんだ。ということは、いったん「7*8」を数字として計算して、そのあとで文字列に変換して「abc」と連結しないといけないんだね。

Pythonにはこの「数字を文字に変換する」という機能がもともと用意されている。この機能には「str関数」って名前がついてるよ。

なんだか難しい感じがするけど、使ってみればカンタンだ。「str(数字)」と書くと、数字を文字列に変換してくれるよ。

じゃあ実際に使ってみるよ。こんな風に書いてみよう。

>>> print("abc"+str(7*8))

実行して見るとこんな風にでてくる。

>>> print("abc"+str(7*8))
	  
abc56

最初にしたかった動きができたね!

str()の中の7*8は「”」で囲まれてないから数字だ。だからきちんと7*8=56って計算してくれる。そして、計算の後でstr()が文字列に変換してくれるから”abc”と連結させてもエラーも出ないってことだね。

関数の基本をおぼえよう!

str()では、数字を入れると文字列として返ってきたよね。こんな風に「何かを入れると、何かが返ってくる機能」のことを「関数」というよ。また、関数に入れる中身のことを「引数」というんだ。よく使うから覚えておいてね。

関数は他にもいっぱい種類があって、それぞれ違った機能を持っている。つまりいろんな関数を覚えればいろんなことが出来るようになるからとっても大事なんだ。

今日のまとめ

  • 文字列は「+」や「*」で連結できる!
  • 文字列と数字はごっちゃにしちゃダメ。組み合わせたいときは「str()」を使う!
  • 値を渡すと別の形で返ってくる機能のことを「関数」と言う!
  • 関数に渡す値のことを「引数」と言う!