目的
- Python勉強ノート
- パタン整理
- 用語まとめ
関数の定義方法
def my_function():
#実行する内容1
#実行する内容2
実行方法
my_function():
パタン① パラメータに引数与えて関数の内容を実行する
実行してみよう
2つの引数("anna", "good")をパラメータに与えて中の決まった処理をするコードを書いて実行してみよう。
def hello(name, weather):
print(f"Hello {name}, The weather is {weather}.")
print("Isn't it? Bye")
hello("anna", "good")
Hello anna, The weather is good.
Isn't it? Bye
パラメータ(Parameter)と引数(Argument)の関係
実行結果で関数(hello)に渡されるParameterとArgumentについて
- name/weather = Parameter 値の名前(パラメータ)
- anna/good = Argument 実際の値 (引数, Data/Value)
補足 「Positional Arguments」と「Keyword Arguments」の違いと使い分け
今回は"good", "anna"の順番逆にして与えると?
def hello(name, weather):
print(f"Hello {name}, The weather is {weather}.")
print("Isn't it? Bye")
hello("good", "anna")
こんなバカげた結果を招く、つまり・・・
Pythonは「名前」「good or bad」の見分けをしないということ
Hello good, The weather is anna.
Isn't it? Bye
簡単なコードは気を付けて入力し、結果をテストすることで
「Positional Arguments」を使うことで問題ないと思う。
それに比べて「Keyword Arguments」は
def hello(name, weather):
print(f"Hello {name}, The weather is {weather}.")
print("Isn't it? Bye")
hello(weather = "good", name = "anna")
キーに値を直接指定することで意図した結果が得られるので、エラーを減らせるだろう。ただ、めんどくさいかも・・・
Hello good, The weather is anna.
Isn't it? Bye
パタン② 関数が処理した実行結果を呼び出し元へ返す(return)
パタン①ではただ、画面に挨拶を表示するに比べて
「return」を利用すると呼び出し元へ値を返すことができる。
例えば
def add(a, b):
return a + b
「total」という変数を作ってそのに「add」のリターンされた処理結果を代入し、「total」を出力する。
total = add(1, 3)
print(total)
4 # 結果2つの引数の合計が表示されることが確認できる。
任意の変数に代入した戻り値は何度でも利用できたり、別の関数で使えるので
「表示」だけではなく、「再利用」するのであれば「return」を使うべし。
「return」と「print」を両方設ける関数では順番に気を付けよう。
例えばこのように両方使う場合、どうなるのか考えてみよう。
def add(a, b):
return a + b
print("この関数は「a」に「b」を足した結果を返す関数です。")
total = add(1, 3)
print(total)
4
「return」が実行されて関数の処理は終了されるので「print」を先に実行する必要がある。
print("この関数は「a」に「b」を足した結果を返す関数です。")
return a + b
この関数は「a」に「b」を足した結果を返す関数です。
4