LoginSignup
3
1

More than 3 years have passed since last update.

3-2、Pythonのデータ型、数値と変数

Last updated at Posted at 2018-09-16

Pythonのデータ型

 まず知っておきたいのは、Pythonではデータがオブジェクトとして扱われます。Pythonプログラム処理できるデータは、数値、テキスト、画像、音声、ビデオなど色々あります。
 データを扱うには、事前にデータの「型」を定義するのが基本です。Pythonには予め用意されたデータ型がいくつがあります。よく使うデータ型を以下に示します。

データ型 意味 データ例
int 整数 123, -456, 78e9
float 浮動小数数点 1.23, -4.56
str 文字列 'abc', "I'm a student."
list リスト [1, 2, "a", 4, "b"], [1, [1, "a"]]
tuple タプル (1, 'abc', True, 4.5)
dict 辞書 {'name':'Tanaka', 'age': 25}
bool ブール、真偽 True, False

数値

整数

 Pythonでは全ての整数(負の整数も)を処理できます。上限はありません。プログラム中の表現は数学の書き方と同じです。例:0, -1, 10, =100, +200 等。
 コンピュータ内部ではバイナリ(2進数)を使っていますが、プログラムでは16進数を使うのが便利です。16進数は0x+ 0~9,a~f で表します。例:0xff01 0xb13c

浮動小数点数

 浮動小数点数は小数です。コンピュータ内部での小数表現において、小数点の位置が固定ではないので、浮動小数点数と言われるそうです。例:1.23e512.3e4は同じです。浮動小数点数の表現は数学の書き方でも大丈夫です。例:12.3 1.23e5

ブール型

 ブール型はTrueかFalseの値のみを持ちます(先頭文字が大文字であることに注意してください)。

>>> True
True
>>> False
False
>>> 1 > 3
False
>>> 3 > 2
Ture

and or notによるプール演算もできます。
and は二つの値の論理積(かつ)を返します。

>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 1 < 3 and 3 > 2
True

orは二つの値の論理和(または)を返します。

>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 1 > 3 and 3 > 2
True

notは値の否定(でない)を返す。True False が反転します。

>>>not True
False
>>>not False
True
>>>not 1>3
True

ブール型はif文の条件式としてよく使われます。

if age >= 20:
    print('Adult')
else:
    print('Minor')

nullオブジェクト

nullとは「何もない」、「空」を指す言葉です。nullオブジェクトは「空っぽ」の状態を表すオブジェクトです。
PythonではNoneを使います。
注意:数値の0は意味を持っています、Noneは特別な「空」値なので、同じではありません。

変数

 変数の概念は数学と似ていて、値を代用する役割を果たします。値を記憶しておくことができます。プログラムでは数値だけではなく、すべてのデータ型の値を記憶できます。
 変数はプログラムの中で1つしか使用できないわけではなく、複数の変数を同時に使用することが出来ます。そこで、変数を区別するために変数にはそれぞれ変数名を付けます。

変数に名前を付ける時は次のルールに従います。
 1) 1文字目は英文字かアンダーバー(_)
 2) 2文字目以降は英数字かアンダーバー
 3) 予約語は使用できない
 4) 大文字と小文字は区別される
 ※予約語はPythonで定義されている変数名である。例:and del for is if 等。

# -*- coding: utf-8 -*-
age = 23             # 整数値23を変数ageとして記憶
StudentNum = 'T007'  # 文字列'T007'を変数StudentNumとして記憶
_Answer = True       # ブール値Trueを変数_Answerとして記憶

Pythonの=はデータを変数へ代入する意味です。同じ変数を繰り返してデータの代入ができる、しかも、違うデータ型の代入もできる。

# -*- coding: utf-8 -*-
Answer = 23          # 整数23を変数Answerとして記憶
print(Answer)
Answer = False       # ブール値Falseを変数Answerとして記憶(記憶変更)
print(Answer)

注意: Pythonの=は数学の=(イコール)と違います。

# -*- coding: utf-8 -*-
a = 10
a = a + 5  # ここは「a + 5」を計算した結果「15」を変数aとして記憶する

変数とパソコンの内部処理

 プログラムにa = 10を書いたときに、パソコンの中に下記二つの動作を行う。
 1. メモリ上に10という整数型オブジェクトを作る
 2. 変数名aを辞書キー、整数型オブジェクト10を辞書値とした辞書データを作り、変数辞書に登録する

変数a を 変数bに代入すると、変数aが記憶しているオブジェクトを変数bにも記憶します。変数aと変数bで同じひとつのオブジェクトを記憶します。

# -*- coding: utf-8 -*-
a = "Tanaka"  # 文字列"Tanaka"を作り、変数`a`として記憶する
b = a         # 変数`a`が記憶してる"Tanaka"を、変数`b`として記憶する
a = 10        # 整数`10`を作り、変数`a`に記憶しなおす。変数`b`の記憶は"Tanaka"のまま変わらない
print(a)
print(b)

結果は
3-2変数.PNG
となります。

 定数

 定数は、固定の値に固定の名前(定数)を与えたものである。ただし変数と異なり、一度代入するとその内容を変更することはできません。例えば数学でよく使ったπは定数となりますPI = 3.14159265359
しかし、Pythonでは定数を定義することができません。慣例的に全部大文字の変数名は定数として扱うルール(約束)が使われています。

まとめ

・Pythonは沢山のデータをオブジェクトとして扱う。
・変数はデータの「名前」として扱う。変数は変数辞書に登録される。
b = aは、変数aが記憶しているデータ(オブジェクト)を変数bにも記憶する。その後、aの記憶を別のデータに置き換えても、bの記憶は変わらない。
・Pythonの数値データに上限はありません。(C言語のint型のサイズは4バイトで、最大値は2147483647、最小値は-2147483648となります)。Pythonの浮動小数点数には上限がありますが、一定範囲を超えるとinf(無限大)になります。

前章 3-1、Pythonの基礎
次章 3-3、Pythonの文字列
目次 非IT業種のITメモ

3
1
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1