##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.23e5
と 12.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)
#### 定数
定数は、固定の値に固定の名前(定数)を与えたものである。ただし変数と異なり、一度代入するとその内容を変更することはできません。例えば数学でよく使ったπ
は定数となります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メモ