0
0

Python 3 エンジニア認定基礎試験対策4 - その他の制御フローツール

Last updated at Posted at 2024-01-22

はじめに

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を使う

参考文献

0
0
0

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
0
0