LoginSignup
1
1

More than 3 years have passed since last update.

Pythonはじめから勉強 Hour2:制御文

Last updated at Posted at 2020-03-16

Pythonはじめから勉強 Hour2:制御文

  • Pythonで何かしようとしたときに、まずサンプルスクリプトを探してなんとなく実行してた私が、
  • 自動実行でREST API叩いて、結果の確認、VM操作までやってみたいと思う7時間

学習資料

環境

  • 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時間ぐらいかかった。
  • テキストを転記するのではなく考えながらやると、身に付く。
  • こんなレベルでも時間がかかる....
1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1