🔙
🔝

型が違うとエラーになる!

1 と '1' の違いがわかるようになります👍

Chatpter.1 - そんなあなたに「型変換」

そんなあなたに「型変換」

  • 「型とかなんで気にしないといけないの?」という疑問は捨ててください。

  • そういうものなので、文句を言っても始まりません。

  • でも、「型変換」は超簡単!

  • でも、ベテランがよく言う「超簡単」は、言うほど簡単ではない気がする。

  • でも、ネコの世界にはベテランプログラマーはいないので大丈夫です。

Chatpter.2 - 型のおさらい

型のおさらい

  • 種類は次のとおりです。(覚えてる?)

    通り名 値の例
    str エスティーアール text name 日本語とかも◎
    int イント 12 365 65535 -1
    float フロート 3.14 2.2360679 ∞ 無限

    ひとまず3種類だけピックアップしました。

Chatpter.3 - 型変換しないとこうなるよ

型変換しないとこうなるよ

  • これは正しく動きます。

    x = 3   # 整数型(int)
    y = 5   # 整数型(int)
    print(x + y)
    
    8整数型 (int)
  • 35 を文字列型 (str) にしてみます。

    x = '3'   # 文字列型(str)
    y = '5'   # 文字列型(str)
    print(x + y)
    
    35文字列型 (str)
  • 35 が繋がって 35 になりました。

  • 結果の 35 は文字列型なので、計算には使えません。

    x = '3'   # 文字列型(str)
    y = '5'   # 文字列型(str)
    answer = x + y    # answer に、文字列型(str)の '35' を代入する
    print(answer * 3)   # answer に 3 をかける
    
    353535
  • 35×3105 と出力したかったのですが、思ってたのと違う結果になってしまいました。

  • 数ではないので「さんじゅう ごまん さんぜん ごひゃく さんじゅう ご」ではありません。
    文字なので「さんごーさんごーさんごー」と読むことになります。

  • しかしこれは文字列なので、この前後に文字を繋げることができちゃいます。

    x = '3'   # 文字列型(str)
    y = '5'   # 文字列型(str)
    answer = x + y    # answer に、文字列型(str)の '35' を代入する
    str_353535 = answer * 3
    print('これは、文字列の' + str_353535 + 'なのです。')
    
    これは、文字列の353535なのです。
  • 353535 のところを整数型 (int) するとどうなるのか、見てみましょう。

    str_353535 = 353535    # 整数型(int)
    print('これは、整数の' + str_353535 + 'なのです。')
    

    こんなメッセージが出て止まっちゃいました。

    Traceback (most recent call last):
      File "Main.py", line 2, in <module>
        print('これは、整数の' + str_353535 + 'なのです。')
    TypeError: can only concatenate str (not "int") to str
    
    (4行目の訳) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    型エラー  : 連結できるのは str + str の時だけです。(intはダメ💢)
    
  • これが『エラーメッセージ』というものです。

  • 言い換えると、全部文字列型じゃないと + で繋げられませんよということです。

  • 初めてエラーを見ちゃいましたね。親父にもぶたれたことないのにね。

  • なので、どんな時も を合わせたほうがよさそうです。


目が疲れましたね。😿
ちょっと休憩しましょう。🏄

Chatpter.4 - 型変換してみよう

型変換してみよう

  • ではここで、型変換をやってみましょう!

  • わかれば簡単!

  • ここからは str とか int という言い方に略します。

    # int -> str の例
    num = 353535  # int の 353535
    str_353535 = str(num)    # str()の ()の中に、変数の num を入れる
    print('これは、文字列の' + str_353535 + 'なのです。')
    
    これは、文字列の353535なのです。

    今度はエラーが出ずに、きちんと出力してくれました。

  • 次はさっき 35 を足したら 35 になってしまっていたのを正しく計算して出力してみましょう。

    # str -> int の例
    x = '3'   # str
    y = '5'   # str
    print(int(x) + int(y))  # x と y の両方を整数型に変換!
    
    8

    str() の時と同じように、今度は int() を使うと int になります。

  • str()int()関数というものです。

    これから これに 変換する時に使う関数
    str int int('35') -> 35
    int str str(353535) -> '353535'
    float int int(3.14159265) -> 3
    float str str(3.14) -> '3.14'
    str float float('3.14') -> 3.14
    int float float(3) -> 3.0

    上の3つはよく使います。

  • 今憶える必要はありません。何度も使うので自然と覚えてしまいます。

  • でも単純に、int にしたい時は int()str にしたい時は str() を使うとよいということです。

  • 関数は () の中に、変数や値を入れるという使い方だけ憶えておいてください。