今回は実際にPythonを制御する制御門を学んでみる。
PythonはCとは違って括弧で囲まずに、インデント(タブ)を入れて、statementの範囲を表す。
つまり、書き方において強制的にタブをしっかり入れなきゃならないようになっている。
少しの文法的な差はあるが、概念はすぐ理解できると思う。
>>> X = -30
>>> if X > 0 :
... print('positive num')
... elif X < 0 :
... print('negative num')
... else :
... print('I don\'tknow what to do')
...
negative num
条件分と命令の分けは:
とインデントで分けるようになっている。
そして、elいf
インデントに気をつけること!そして、CLIでタブを入れることができない場合はspaceを入れればいい。
そして、Pythonでは
switch
文がない。
複数の条件を比較する時使う。
Operator | 説明 |
---|---|
and | AND Operator |
or | OR Operator |
not | NOT Operator |
C言語で使ってた
&
や|
などはBit演算子として使われるので注意!!
while
もif
文のような書き方になっている。
それ以外の特徴はない。
>>> count = 0
>>> while count < 10 :
... count = count + 1
... print(str(count) + '番目です。')
...
1番目です。
2番目です。
3番目です。
4番目です。
5番目です。
6番目です。
7番目です。
8番目です。
9番目です。
10番目です。
for
文の場合少し書き方が独特である。
主に、ListやTupleあるいは文字列に入っているデータ(文字)を一つずつ出す時使う。
>>> students = ['Fujii', 'Watanabe', 'Tomo']
>>> for student in students :
... print('今、'+ student + 'は学校にいます')
...
今、Fujiiは学校にいます
今、Watanabeは学校にいます
今、Tomoは学校にいます
もちろん、単純なIteratorをおいて繰り返すこともできる。
>>> for i in range(1,11) :
... print(str(i) + '番目です。')
...
1番目です。
2番目です。
3番目です。
4番目です。
5番目です。
6番目です。
7番目です。
8番目です。
9番目です。
10番目です。
rangeが11までになっていることに注意!!
while
文を使う時、条件が相変わらずTrue
であれば、無限に繰り返すようになる。
実際にパソコンには大きい負担がないので、やってみようww
>>> count = 0
>>> while count < 10 :
... print('これは終わる気がしない...')
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
これは終わる気がしない...
......
出る方法は二つがある
- Pythonを終了する。
ctrl+d
- Exception(エラー)を出して止める。
ctrl+c
Pythonを終了したくない場合にはctrl+c
を使えばいい。
辞書的な意味は例外である。
つまり、Pythonから見て正常じゃない時のことである。
今回使ったctrl+c
はKeyboardInterrupt Exception
という例外を作ってくれる。
それで、この例外を読み取ったPythonはこのループに何か問題があると思って今やっていることを止めてくれる。
これは終わる�^CTraceback (most recent call last):
File "<stdin>", line 2, in <module>
KeyboardInterrupt
つまり、今回は意図してエラーを作ったのだ。 だから、間違った命令によりプログラムが暴れないようにするため、エラーは必修不可欠な要素である。