型の種類 bool値
bool値とは
bool値とはTrue(真)かFalse(偽)のみを持つことができます。小文字の"true","false"で真偽値を保持しています。
>>> a = 1
>>> a == 1 ←"=="は比較演算子、下で説明しています。
True
>>> type (a == 1)
<type 'bool'>
bool型も整数型の一種です。このため、数字の「1」と「0」をTrue/Falseの代わりに使用できます。
>>> int (True) ←頭文字は大文字
1
>>> int (False) ←頭文字は大文字
0
>>> int (true) ←全て小文字は登録されていません。
Traceback (most recent call last):
File , line 0, in<stdin>##16
NameError: name 'true' not defined
>>> bool(1)
True
>>> bool(0)
False
比較演算子を使う
bool型は単独で扱われることは少なく、比較演算子の演算結果を扱うために使われます。比較演算子の種類
演算子 | 説明 |
---|---|
X == Y | XとYが等しい場合にTrue(真)になる。代入(=)とは異なるので注意が必要。 |
X != Y, X <> Y |
XとYが等しくない場合にTrue(真)となる。感嘆符の位置はイコールの左側となる。 |
X < Y, X > Y |
XとYの大きさを比較する。「>」は左側が大きい場合にはTrue(真)となる。「<」は右側が大きい場合にはTrue(真)となる。XとYが等しい場合はFalse(偽)となる。「X<Y<Z」のように、複数の不等号を組み合わせることもできる。 |
X <= Y, X >= Y |
XとYが等しい場合を含み、大きさを比較する。不等号の位置はイコールの左側となる。「X<=Y<=Z」のように、複数の不等号を組み合わせることもできる。 |
X in Y | シーケンスに含まれる要素を比較する。Xという要素が、Yというシーケンスに含まれている場合にTrue(真)となる。 |
not | True(真)とFalse(偽)を逆にする。「not X == Y」のように比較式の前に記述する。inの場合は、「X not in Y」と記述する。 |
※「シーケンス」は、自然数によるインデックスが付けられた順序立ったオブジェクトのセットのことです。文字列やリストやタプルが含まれます。
これ以外にbool値を使った演算には論理演算があります。また実際には整数を扱うのですが似たようなものにビット演算があります。
複数の条件で比較する
例えば「1分以上2分未満」のように複数の条件を使って比較する必要が出きた場合、andやorで条件通しをつなぎます。「Aが成り立ち、かつBが成り立つ」という場合は"A and B"というように、「Aが成り立つか、またはBが成り立つ」という場合は"A or B"と記述します。