![見出し画像](https://assets.st-note.com/production/uploads/images/12858317/rectangle_large_type_2_d41ed08baacafa3e8cc574661e2a0b65.jpeg?width=1200)
Pythonの勉強するよ【フロー制御編①】
基礎編②を見てくれた方、ありがとうございます。
だいぶ間が空いてしまいましたが、おさらいを簡単にすると、こんな感じでした。
・変数とは、値を格納しておける箱のようなもの。
・変数名はのつけ方には、一定のルールがある。
・Pythonには、関数と呼ばれるものがあり、それを呼び出すことで処理を行ってくれる。
それでは、今回からフロー制御に入っていきます。
2.1 ブール型
ブール型というのは、True(真)とFalse(偽)の2種類の値をとる変数型です。
Pythonで書くときには、クォート記号を付けずにTrueとFalseと書きます。
この時、先頭は大文字、残りは小文字で書きます。
他の値と同様にブール値も式の中で用いることができ、変数に格納することもできます。
実際にインタラクティブシェルに入力すると、下のようになります。
>>> test = True
>>> test
True
Trueの先頭を小文字にすると、trueという変数として認識されます。
>>> test = true
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
test = true
NameError: name 'true' is not defined
上の場合は、trueという変数を定義していないので、Errorが発生しています。また、TrueとFalseは、Pythonで使用している予約語になるため、変数名として使用できません。
True = 1 + 2
SyntaxError: can't assign to keyword
【Point】
・ブール型は、TrueとFalseの2種類の値をとる変数型。
・他の値と同様にブール値も式の中で用いることができ、変数に格納することもできる。
2.2 比較演算子
比較演算子は、2つの値を比較して、1つのブール値を返します。
以下が比較演算子の一覧です。
実際に試してみましょう!
>>> 42 == 42
True
>>> 42 == 99
False
>>> 2 != 3
True
>>> 2 != 2
False
==は両辺の値が同じであればTrueとなり、!=は両辺が異なる値であればTrueとなります。==と!=は、整数型以外の型にも使用できます。
例えば、同じ文字列かどうかが確認できます。
>>> 'Hello' == 'Hello'
True
>>> 'hello' == 'Hello'
False
>>> 'dog' != 'cat'
True
整数と文字列を比較した場合、等しくならないことにも注意しましょう。
>>> 42 == '42'
False
一方、<、>、<=、>=演算子は、両辺が数値型どうしなどの同じ型である必要があります。
>>> 42 < 100
True
>>> 50 > 150
False
下のように、文字列と数値を比較しようとすると、エラーになります。
>>> 'hello' < 42
Traceback (most recent call last):
File "<pyshell#39>", line 1, in <module>
'hello' < 42
TypeError: '<' not supported between instances of 'str' and 'int'
文字列と文字列の場合、<、>、<=、>=演算子を使用することができますが、詳しい説明は後回しにします。
>>> 'a' < 'b'
True
>>> 'a' > 'b'
False
また、比較演算子は、変数に入れた値の比較も可能です。
>>> my_age = 20
>>> my_age >= 15
True
比較演算子は、この後、フロー制御文を学ぶ上で具体例が多く出てくるので、しっかり覚えていきましょう。
【Point】
・比較演算子は、2つの値を比較して、1つのブール値を返す。
・比較演算子は、変数に入れた値の比較も可能。
まとめ
ブール型と比較演算子について、わかりましたでしょうか?
ブール型と比較演算子は、フロー制御文を書く上で、非常に重要となるので、しっかり覚えていきましょう。
【まとめ】
・ブール型は、TrueとFalseの2種類の値をとる変数型。
・比較演算子は、2つの値を比較して、1つのブール値を返す。
次回は、ブール演算子をやっていく予定です。
次はもう少し早く投稿できるようにしていきたいです。
P.S.
近いうちにプログラミング以外のネタも投稿予定です。