Pythonはじめから勉強 Hour2:制御文
- Pythonで何かしようとしたときに、まずサンプルスクリプトを探してなんとなく実行してた私が、
- 自動実行でREST API叩いて、結果の確認、VM操作までやってみたいと思う7時間
学習資料
- たった 1日で基本が身に付く! Python超入門
- 過去の記事
環境
- Windows
- Python Ver3系
プログラムファイル(.py)を作って実行
テキストファイルで作って実行
-
日本語も扱えるけどUTF-8で書くこと。SJISとかエラーになります。
-
今までやったスクリプトをテキストファイルで作成(test_01.py)
print(1) print('2') a = 1 + 2 print(a) print('こんにちは パイソン-san')
-
実行してみる
C:\test_01.py 1 2 3 こんにちは パイソン-san C:\
-
宣言していない変数を使って、エラーを起こしてみる(test_03.py)
print(1) print('2') a = 1 + 2 print(b)
-
実行してみる
C:\Users\>test_03.py 1 2 Traceback (most recent call last): File "C:\Users\test_03.py", line 4, in <module> print(b) NameError: name 'b' is not defined
-
途中まで実行されますがエラーになりますね
-
bが定義されてないよーって、そのままのエラーで分かりやすいですね。
コメント行・コメント範囲
- #でコメント
- ''' ~ ''' で複数行コメント。シングルクォート3つ。
条件分岐
-
if 文はこんな感じ。簡単だけど今までコピペしかしたことなかったから覚えてなかったけど一度書くと忘れない。
if 条件式: 条件式を満たす場合の処理 elif 条件式: 2つ目の条件式を満たす場合の処理 else: それ以外の処理
-
例文
a=17 if a % 2 == 0: print('2') elif a % 3 == 0: print('3') elif a % 5 == 0: print('5') else: print('nothing')
リスト
-
この後、ループ処理が出てくるけど、ループ処理とリストは密接な関係があるからここで説明
-
リストはこんなの。3つの要素を持つリスト
- [ 'taro', 'jiro', 'kotaro']
-
リストの使い方
- リストを変数に代入 / リストを表示する / リストの1つのデータを取り出す
- リストの値を入替(上書き) / リストの長さを取得(len関数) / リスト外の取得(エラーとなる)
-
例文
a = ['taro', 'jiro', 'kotaro', 10] print(a) print(a[0]) a[0]='hogeo' print(a) print(len(a)) print(a[4])
-
実行してみる
C:>test05_list.py ['taro', 'jiro', 'kotaro', 10] ← リストを表示 taro ← 1つめを常時 ['hogeo', 'jiro', 'kotaro', 10] ← 入れ替えて表示 4 ← リストの長さを取得 Traceback (most recent call last): File "C:\test05_list.py", line 11, in <module> print(a[4]) IndexError: list index out of range ← リスト外の値を取得したのでエラーになる
ループ処理
-
for loopですね。サンプル見た方が早い
name_list = ['taro', 'jiro', 'kotaro', 'hogeo'] for name in name_list: print(name)
-
実行してみる
>test06_for_loop.py taro jiro kotaro hogeo
-
len()でリストの長さを取るのかと思ったら取らないのね。
-
リストの0番目から最後までをname変数に入れてから出力する
break & continue
-
処理の途中で抜けたいとき
-
breakの例。リストに偶数が含まれているか否かを判断するプログラム
nubber_list = [1, 3, 11, 15, 7, 9] has_even = False for i in number_list: print(i) if i % 2 == 0 has_even ~ True break print ('has_even=' has_even)
-
実行してみる
>test07_break.py 1 3 11 15 7 10 has_even=True
while文:
-
何回ループ回せばいいか分からない時に使う
-
リストに偶数が含まれているか否かを判断するプログラム
number_list = [1, 3, 11, 15, 7, 9] length =len(number_list) i = 0 while i < length: print('List No.' + str(i) + '=' + str(number_list[i])) i += 1
-
実行してみる
>test08_while.py List No.0=1 List No.1=3 List No.2=11 List No.3=15 List No.4=7 List No.5=9
今回のまとめ
- .pyで実行ファイルを作れる
- Pythonは日本語出力もできるがUTF-8で書かないとだめ。
- リストはjsonとか扱う時とかあちこちで使うよ
- if / for / while などの構文は必須
名言・ライトニングトーク用
- 今回はメモしながらだと2時間ぐらいかかった。
- テキストを転記するのではなく考えながらやると、身に付く。
- こんなレベルでも時間がかかる....