【Python基礎】型を使いこなす(前編)

Python

第2回目は変数編に続いて型を解説したいと思います。
鬼滅の刃も盛り上がりを見せている中、便乗して

「全集中Pythonの型」(前編)を皆さんに伝授します!

データ型とは

データ型とはデータの種類のことです。第一回の変数がデータを入れる箱だとすると
今回はその箱に入れるものを書いたラベルを貼ってあげるようなイメージです。
例えば、「あいうえお」「abcde」という文字列型、「1」「1.4142」「100」といった数値型
True「真」やFalse「偽」といった論理型などがあります。

Pythonは変数を宣言する必要がないと第一回で解説をしておりますが、
変数の宣言ではこのような型についても指定をする必要があります。

Pythonではその手間がかかりません。Pythonでは変数が取り扱う
中身に合わせて自動的に型を決めてくれます。

これを「動的型付け」といいます。

ではそれぞれの型を解説していこうと思います。

論理型(bool型)

論理型は取り扱えるデータがとってもシンプルでTrue(真)かFalse(偽)のみを取り扱います。

Pythonでは自動的に型を決めてくれるので論理型を必要とする状況で
どのように扱われるのかしっかりと確認しておきましょう。

論理型は以下の値を自動的にFalse(偽)とみなします。

  • 空値(None)
  • 数値のゼロ
  • 空文字列、空リスト

ちなみに上記以外のものは全てTrueとみなします。

つまり、数値が0かどうかを確認する手段としてこのデータ型を利用することができるってことですね!

整数型(int型)

整数型では4種類の整数表現の取り扱いができます。

正の整数と負の整数をそれぞれ取り扱い可能です。

  • 10進数
    普段使っている一般的な整数です。
    (例:-10、1000、0)
  • 16進数
    0~9に加えてa~fのアルファベットで10~15を表現します。
    接頭辞(プレフィックス)には「0x」を付与します。
    xは「heXadecimal(16進数)」のxを取っています。
    (例:0xfd、0x13)
  • 8進数
    0~7で値そのものを表現します。
    接頭辞(プレフィックス)には「0o」を付与します。
    oは「Octal(8進数)」のoを取っています。
    (例:0o111、0o123)
  • 2進数
    0または1で表現します。
    接頭辞(プレフィックス)には「0b」を付与します。
    bは「Binary(2進数)」のbを取っています。
    (例:0b0011、0b1100、0b1011)

浮動小数点型(float型)

整数型では扱えない少数を取り扱います。
指数表現という考え方があるのでしっかりと解説していきます。

指数表現は以下のような形で表現をします。
 <仮数部>e<符号><指数部>(<仮数部>×10の<符号><指数部>)

仮数部には実際に表現したい数字を入れます。
符号には「+または-」を入れます。
指数部には表現したい桁数を入れます。

(例:1024を指数表現で表すとこんな感じになります。1024=0.1024e4)

指数表現は普段の生活の中では見る場面が少ないので
わからなくなったらこの記事を思い出して見返してもらえるといいかと思います。

文字列型(str型)

文字通り文字列を取り扱います。
使い方としては文字列の全体をシングルクオーテーション「’」またはダブルクォーテーション「”」で括ります。

print('Hi my name is Uratake.')

文字列内で登場してこないクォーテーションで括る必要があります。

print("I'm Uratake.")

文字列内にシングルクォーテーションもダブルクォーテーションも
出てきてしまう場合はどうしたらいいのか。ずばりエスケープシーケンスという記法をしましょう。

基本的には「\(バックスラッシュ)」を記号の前に入れます。

print('He\'s baseball player.')

これまで1行の文字列についてご紹介しましたが、
複数行の文字列の取り扱いについても解説します。

複数の文字列を取り扱うためにはシングルクォーテーションまたはダブルクォーテーションを
3個つなげて文字列を括ります。

print('''私はUratakeです。
I am Uratake.''')

このように入力すると出力結果は

私はUratakeです。
I am Uratake.

となることが確認できます。

ファイルパスなどを取り扱う際はraw文字列を利用します。
使い方としては文字列の先頭に「r」または「R」を付けて文字列を記入します。

print(r"C:\\desktop\test")

出力結果は以下のようになります。

C:\\desktop\test

文字列の途中で変数の値を入れたいときはフォーマット文字列を利用します。
使い方としては文字列の先頭に「f」を付けて文字列を記入し変数を入れるところは
「{」と「}」で括って間に変数名を入れて利用します。

または、 「{」と「}」で括って文字列を記入後「.format(変数名)」と記載し変数を指定して利用します。

age = 30
print(f"私の年齢は{age}歳です")
print("私の年齢は{}歳です".format(age))

出力結果は以下のようになります。
どちらのフォーマット文字列を利用しても同じ結果を得ることができます。

私の年齢は30歳です
私の年齢は30歳です

集大成として複数行の文字列でraw文字列とフォーマット文字列を利用するケースを
ご紹介して文字列型を締めくくろうと思います。

age = 30
print(rf'''私の年齢は{age}歳です。
I'm baseball player.''')

このようにすると出力結果は

私の年齢は30歳です。
I'm baseball player.

となります。

まとめ

データ型というの変数というデータを入れる箱に貼るラベルのようなイメージで
変数の中に何が入っているのかわかるようになっています。
今回は論理型・整数型・浮動小数点型・文字列型を紹介しました。
それぞれのポイントを簡単にまとめると表の通りです。

#型の名前どんな値が入るの?具体的な値のイメージ
1論理型(bool型)TrueまたはFalseTrue、False
2整数型(int型)正または負の整数-100、0xf、0o6、0b010
3浮動小数点型(float型)小数点、指数表現1.0、1.4142e3
4文字列型(str型)文字列私はUratakeです。

最後まで読んでいただきありがとうございます。

今回は単独の値を取り扱うデータ型について解説をさせていただきました。

後編は複数の値を取り扱う際のデータ型について解説をします。

コメント