Python 基礎講座 レベル1 データ型とは

Python

基礎講座レベル1

データ型

今回はデータ型について解説していきます。

別の問題でも軽く触れましたが、プログラミングの世界で文字列の”5″と数値の5は全く別のものとして扱われると言いました。これは文字列と数値が違う「データ型」だからです。

性質や扱われ方などが異なるデータの種類のことをデータ型と言います。

Pythonには様々なデータ型が存在します。まずは最も基本ともなる文字列型と数値型について学習していきましょう。

文字列型と数値型の違い

print("4 + 8")
print(4 + 8)
print("4" + "8")

前回までの復習になりますが、上のprintの中身は文字列なので、4 + 8という文字がそのまま出力されます。一方で二つ目のprintの中身は数値なので、コンピュータが値を計算し、その結果である12が出力されます。

また三つ目のprintは一つ前の「文字列の連結」で学習したように、”4″という文字列と”8″という文字列の連結を表しているので、その結果である”48”が出力されます。

strを使って数値を文字列に型変換

下のコードのように異なるデータ型動詞を連結させようとするとエラーが発生します。

year = 2021
print("今年は" + year + "年です") #文字列と数値を連結しようとしているためエラーが起こる

そこで数値を文字列に変換することで、エラーを起こさずに連結させることができます。

あるデータ型を別のデータ型に変換することを「型変換」と言います。

ここではstrという機能を使って数値から文字列に変換する方法を学習します。

year = 2021
print("今年は" + str(year) + "年です")    #今年は2021年です

上のコードのようにstrのあとの( )の中に変換したい数値や変数を入れることで文字列として扱うことができるようになります。

intを使って文字列を数値に型変換

逆に文字列を数値に変換したい場合もあります。

amount = "5"
price = 200
total_price = amount * price #エラー

上のコードの変数amountは文字列型ですが、数値として計算させようとしているためエラーが発生します。これを解消するためにはintという機能を使って文字列を数値に変換する必要があります。

amount = "5"
price = 200
total_price = int(amount) * price #1000

intもstrと使い方は同じでintのあとの( )の中に変換したい文字列型を入れるだけです。

問題

①変数year、month, dateを用いて「今日は2021年6月8日です」と表示させてください。

②変数numberに5を足した値を出力してください。

year = 2021
month = 6
date = 8
print("ここを変更してください")

number = "5"
print("ここを変更してください")

答え

year = 2021
month = 6
date = 8
print("今日は" + str(year) + "年" + str(month) + "月" + str(date) + "日です")

number = "5"
print(int(number) + 5)

[解説]

①ではstrを使って数値型のyear、month、dateをそれぞれ文字列型に型変換したあとで連結させています。str(year)などはクォーテーションで囲まないことに気を付けましょう。

②は文字列型のnumberをintで数値型に変換しています。

答え

次のステップは 条件分岐 if文です

プロフィール

プロフィール
コードラボJP

大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで

コードラボJPをフォローする
タイトルとURLをコピーしました