第3回 Python学習 データ型について

プログラミング

今回は座学になります。

プログラムで扱う[データの形]

Pythonのコードは、

  • リテラル
    • 生の値のこと
      ソースコードの中に直接書き込まれた値、もしくはファイルなど外部から書き込まれた値
      前回使ってみたHallo Worldなどの文字列はすべてリテラルと呼ばれ、ほかの要素と区別します
  • 予約語
    • Pythonで特別な意味が割り当てられた単語のこと
      今後覚えるであろうIFなどの予約語がある
      予約語は、「もし値が100なら〇〇を実行する」などのようはあらかじめ条件を指定して処理を実行する場合に使用する
  • 識別子
    • Pythonでは値を保管したり、他のソースコードに引き渡すために変数を使う
      変数には任意の名前を付けることができます
      また、処理を行うためのソースコードのまとまりにも名前を付けることができます
      これらに付ける名前のことを識別子といいます
  • コロン、改行コード
    • ソースコード内の「.」や改行
  • ( )かっこ
    • printで「Hallo World」を表示する際に使いました
      他にも、計算式などでつかわれることもある
  • 記号
    • 「print(‘Hallo World’)」のように、文字列を「(‘ ‘)」で囲みました
      特別な記号を持つものもあります

大まかにこの6種類に分類されます

リテラル(値)について

プログラミングで「値」を使う際に、それがどの種類の値なのかが重要になります。

1などの「数値」であれば、他の数値と計算が可能です。

ただし「リテラル」としてみた場合、数値と文字は違うため計算しようとするとおかしくなります

そこでPythonではデータの種類を「データ型」と区別します。
データ型には「数値型」があり、整数リテラルと少数リテラル(浮動小数点数)を使います。

また文字列型は、文字数リテラルを使います。

  • 数値型(int型)
    • 整数リテラルを使う(例=10、100等)
      整数値を使うためのデータ型
  • 数値型(float型)
    • 浮動小数点数リテラルを使う(1.5、10.5等)
      少数を含む値を使うためのデータ型
  • 文字列型(str型)
    • 文字数リテラルを使う(こんにちは、こんばんわ等)
  • ブール型(bool型)
    • Yes,Noを表す[True][False]のみを使います

基本的な「データ型」には大きく分けてこの4種類があります。

次に、各型についてもう少し細かく話します。

数値型について

数値型には整数値を使うint型、少数を扱うfloat形があります。

  • 整数リテラル
    1や10の整数をソースコードの一部として各場合は、そのまま書けば大丈夫です。
    • 整数リテラル(10進数)の書き方
      10
      150
      1000
      • Pythonでは、2進数や8進数、16進数を表現することも可能ですコンピューターの最小処理単位は「バイト」で、1バイトは8ビット、つまり8桁の2進数で表されます。
        ただし、16進数を使うとこれを2桁の値で表すことが可能です。
        2進数の4桁が16進数の1桁のなるからなのですが、1バイトのデータを表すのによく16進数が使われます。
    • 2進数の書き方
      先頭に「0b(ゼロ、ビー)」「0B(ゼロ、ビー)」を付けます
      • [例] 0b1 0B100 0b1000
    • 8進数の書き方
      先頭に「0o(ゼロ、オー)」「0O(ゼロ、オー)」を付けます
      • [例] 0o1 0O100 0o1000
    • 16進数の書き方
      先頭に「0x(ゼロ、エックス)」「0X(ゼロ、エックス)」を付けます
      • [例] 0x1 0X100 0x1000
  • 浮動小数点数リテラル
    通常の「0.0001」のような形式は固定小数点数と呼ばれます。
    どちらも少数を含んでいる値ですが、それぞれ浮動小数点数方式と固定小数点数方式で表された数になります。
    Pythonで使うのは浮動小数点数型(float型)です。
    • 固定小数点数の場合100兆分の1を表すには「0.00000000000001」となり、見づらくなりますが、浮動小数点数では、「1.0Eー14」と書くことができます。
      桁数がすくない方が処理は早くなるので、浮動小数点数型のほうが有利になります。
      Pythonの場合、浮動小数点数型なので固定小数点数方式で入力しても、浮動小数点数として扱われます

文字数型について

文字を使うデータ型で、具体的には0個以上のUnicode文字の並びを表します。

  • 文字列リテラル
    文字列リテラルは、シングルクォート「’」またはダブルクォート「”」で囲みます
    • [例]’Python’ ”Python”

      ただし英文などで、「Its Python」のように文字列内にシングルクォートが入っているとうまく機能しません
      なのでこのような場合、ダブルクォートで囲めばうまく機能するようになります
    • [例] ”It’s Python”
  • トリプルクォート
    トリプルクォート「”’」または「”””」(シングル3つ、またはダブル3つ)で囲むと、改行を入力されていても同じ文字列として認識されます。
    • [例]

ただしそのまま入力しても、改行の部分が「¥n」と改行を扱う記号に変換されてしまっています

そこで、printを使ってみましょう。

クォートも消え、改行を入力してもきれいに表示されました
()内のstrというのが、前述した任意の名前を付けた変数です
〇〇=××としておけば、print(〇〇)として実行したとき、××と表示されます

ブール型について

真か偽か、二者択一の状態を調べる際に使うのがブール型です
TrueかFalseかの2つの真偽リテラルのみ使います

  • 真偽リテラル
    True(真)とFalse(偽)2つの予約語で表されます。
    例えば、左の数値が右の数値より大きいか調べる「>(演算子)」という記号があります。

10のほうが大きいのでTrueと表示されました。

逆に、1より10のほうが大きいのでFalseと表示されました。

  • 空の数値はFalseとされる
    Falseとみなされるものには、
    整数の0、浮動小数点数の0.0、空の文字列(”)、空のリスト[]、空のダブル()、空の辞書{}、
    空の集合であるset()、値が存在しないNone(値自体が存在しないことを表す予約語)
    等があります。
  • 値が空でもTrueを返す演算子として、「not」があります。
    「not」の後ろが空の値(False)である場合、Trueが表示されます。

0は空の値なのでTrue
1は空ではないのでFalse
()内に文字列がないのでTrue
と出ました。

使用例としては、Trueであれば○○する。Falseであれば××する。等ですかね

  • 値自体が存在しないことを示すNone
    Noneは何も存在しないことを示す特殊なリテラルです
    値が存在するかは=(等価演算子)ではわからないので、Noneとis演算子を使います

上のセルでは、a=Noneとしてるので、aはNoneか、という問いにあっているのでTrue
下の段では、a=10としてるので、a=Noneかという問いにFalseと表示されました