←目次へ
python,Qiita初心者なので、備忘録として記載していきます。
なにせ初心者なので、知識不足はご容赦ください。
知識を深めながら追記していきたいと思います。
ブール型とは
基本
- bool型はint型の派生クラス
- Trueと1は等価
- Falseと0は等価
値 | 意味 |
---|---|
True | 真 |
False | 偽 |
>>> True == 1
True
>>> False == 0
True
Pythonにおいて、偽(False)とみなされるのは以下のオブジェクト
- 定数:NoneとFalse
- 数値型におけるゼロ:「0」, 「0.0,」 「0j」(複素数), Decimal(0), Fraction(0, 1)
- 空のシーケンスまたはコレクション:'', (), [], {}, set(), range(0)
上記以外はすべて真(True)と判定される
真偽値の確認
bool()関数
:ブール型に変換する
bool()関数で真偽値の確認
>>> bool(10)
True
>>> bool(0)
False
>>> bool('0')
True
>>> bool('False')
True
>>> bool('')
False
>>> bool([False])
True
>>> bool([])
False
>>> bool(1)
True
>>> bool(0)
False
ブール型の計算
int型の派生クラスなので、普通に演算することも可能
>>> issubclass(bool, int) # intの派生クラスという事が分かる
True
>>> +True
1
>>> -True
-1
>>> -False
0
>>> True + True # 1 * 1 として演算
2
>>> 10 * True # 10 * 1 として演算
10
>>> 10 / False # 10 / 0 として演算
# 0除算エラーになる
>>> 'はい' * True # 'はい' * 1 として演算
'はい'
>>> 'はい' * False # 'はい' * 0として演算
''
>>> ('はい','いいえ')[True] # []はブール型になる式でも良い
'いいえ'
>>> ('はい','いいえ')[False] # []はブール型になる式でも良い
'はい'