はじめに
Python3エンジニア認定基礎試験の対策として自分用に執筆しています。
この記事はPython・執筆学びたての初心者が執筆しています。間違いがあるかもしれませんので、ぜひ各項目にある参考文献も確認してください。また、誤りがあればコメントで教えていただけると幸いです。
その他の制御フローツール
if
>>> x = 1
>>> if x < 0:
... x = 0
... print("Negative changed to zero")
... elif x == 0:
... print("Zero")
... elif x == 1:
... print("Single")
... else:
... print("More")
0個以上のelifと1個以下のelseを使用できる。
for
反復を行う。whileとの違いはシーケンス(リストや文字列)にわたって反復を行うこと
>>> animals = ['cat', 'dog', 'bird']
>>> for i in animals:
... print(i)
cat
dog
bird
range()
関数を使うと数列を使った反復が可能になる
>>> for i in range(5)
... print(i)
0
1
2
3
4
>>> list(range(5,10))
[5, 6, 7, 8, 9]
>>> list(range(0, 10, 3)
[0, 3, 6, 9]
>>> print(range(10)
range(0, 10)
break文、continue文、ループのelse節
break
文はfor, whileのループを中断する
>>> a = 0
>>> while a < 10:
... a += 1
... print(a)
... if a == 5:
... break
1
2
3
4
5
else
節はbreak文でループを終了しなかった場合に実行されるコードグループ。
>>> count = 0
>>> for i in range(5):
... if i % 2 == 0:
... count += 1
... if count > 4:
... break
... else:
... print("偶数は4個以下です")
偶数は4個以下です
continue
文は実行されると現在のループを終え次のループを開始する
>>> for i in range(1, 5):
... if i % 2 == 0:
... print("偶数", i)
... continue
... print("奇数", i)
奇数 1
偶数 2
奇数 3
偶数 4
pass文は何もしないという処理を行う
>>> while True:
... pass
関数の定義
>>> def add(a, b):
... print(a + b)
>>>
>>> add(2, 3)
5
>>> print(add(2, 3))
None
def
の後ろには関数名、引数を入れる丸括弧が必要。
関数内での変数は全て新しいシンボルテーブルに入れられる、つまり関数内部だけのローカルの変数になる。
>>> def mult(a, b):
... return a * b
>>>
>>> ans = mult(2, 3)
>>> print(ans)
6
return
文を利用すると関数を呼び出したあとに出力ではなく値を返すようにすることができる
関数の引数
>>> def dinner(food, drink="juice", sweet="cake"):
... print(food, drink, sweet)
>>>
>>> dinner("steak", "milk")
steak milk cake
lambda
名前のない小さな関数を生成する
>>> lam = lambda i: i * 2
>>> print(lam(10))
20
ドキュメンテーション文字列
>>> def sample():
... """Sample Documentation
... this func is none
... """
... pass
>>> print(sample.__doc__)
Sample Documentation
this func is none
コーディングスタイル
スタイルガイド PEP8 を守ると読みやすいコーディングができる。
- インデントには空白4つを使い、タブを使わない
- ソースコードの幅が79文字を超えないように行を折り返す
- 関数やクラスや関数内の大きめのコードブロックの区切りに空行を使うこと
- 可能ならコメントは行に独立させる
- docstringを使う
- 演算子の前後とコンマの後に空白を入れ、括弧類のすぐ内側には空白を入れない
- クラスや関数に一貫性のある名前を付ける。
- クラス:UpperCamelCase
- 関数名やメソッド名:lowercase_with_underscores
- UTF-8, ASCIIを使う
参考文献