記事の内容
この記事では、Pythonにおける関数の使い方について紹介します。
なお、このコードはPythonの3系で書かれています。
関数(メソッド)とは何か?
関数(メソッド)とは、ある特定の処理をまとめたモノのです。
ソースコードの中に同じような処理があれば、関数を使ってそれらを一つにします。
そうして、一度でも関数を定義してしまえば、関数を呼び出すことで、何度も同じ処理を簡単に実行することができます。
関数の定義方法
関数名は、以下のように定義します。
処理
具体的なコード例を見ていきます。
# 四季ですと表示するだけの関数です | |
def hello_season(): | |
print('四季です') | |
# hello_seasonメソッドを呼び出すと、「四季です」と表示されます | |
# 何度でも関数を呼び出すことができます | |
hello_season() | |
# 四季です | |
hello_season() | |
# 四季です | |
# 2 × 5の結果を表示するだけの関数です | |
def cal_2_5(): | |
v = 2 * 5 | |
print(v) | |
# cal_2_5を呼び出すと「2 × 5」の結果が表示されます | |
# 何度でも関数を呼び出すことができます | |
cal_2_5() | |
# 10 | |
cal_2_5() | |
# 10 |
引数の使い方
関数に引数を渡すことで、より拡張性のあるコードを書くことができます。
# monthという引数を取り、それを関数内で利用することで、様々な表示ができます | |
def hello_season_2(month): | |
if month == 4: | |
print('桜の季節です') | |
elif month == 8: | |
print('海の季節です') | |
elif month == 11: | |
print('紅葉の季節です') | |
elif month == 1: | |
print('スキーの季節です') | |
else: | |
print('何もありません') | |
hello_season_2(1) | |
# スキーの季節です | |
hello_season_2(4) | |
# 桜の季節です | |
# 2つの引数を掛け算した結果を表示します | |
def cal(v1, v2): | |
v = v1 * v2 | |
print(v) | |
cal(2, 2) | |
# 4 | |
cal(2, 3) | |
# 6 |
デフォルト引数の使い方
関数を定義する時に「引数名=デフォルト値」とすることで、引数のデフォルト値を設定できます。
デフォルト値を設定しておくと、関数の呼び出し時に引数の指定を省略することができます。
# デフォルト引数を指定します | |
def hello_name(name = 'Taro'): | |
print(name) | |
# 引数を指定しない時は、Taroと表示されます | |
hello_name() | |
# Taro | |
# 引数を指定した時は、「引数に渡した値」が表示されます | |
hello_name('Hanako') | |
# Hanako |
キーワード引数の使い方
関数の呼び出し時に、「引数名=値」として値を指定することができます。
この場合は、任意の順番で、引数を指定することができます。
def hello_person(name = 'Taro', nationarity = 'Japan'): | |
print('名前は{na}で、国籍は{nat}です。'.format(na = name, nat = nationarity)) | |
# 引数を渡さない場合は、デフォルト引数が表示されます | |
hello_person() | |
# 名前はTaroで、国籍はJapanです。 | |
# 渡した引数が表示されています | |
hello_person('太郎', '日本') | |
# 名前は太郎で、国籍は日本です。 | |
# キーワード引数を使えば、引数の順番は問いません | |
hello_person(nationarity = 'アメリカ', name = '山田') | |
# 名前は山田で、国籍はアメリカです。 |
戻り値の使い方
関数の結果を「return」キーワードを使って取得することができます。
# monthという引数を取り、それを関数内で利用することで、様々な表示ができます | |
# 戻り値は、messageです | |
def hello_season_3(month): | |
message = '' | |
if month == 4: | |
message = '桜の季節です' | |
elif month == 8: | |
message = '海の季節です' | |
elif month == 11: | |
message = '紅葉の季節です' | |
elif month == 1: | |
message = 'スキーの季節です' | |
else: | |
message = '何もありません' | |
return message | |
v1 = hello_season_3(1) | |
print(v1) | |
# スキーの季節です | |
v2 = hello_season_3(4) | |
print(v2) | |
# 桜の季節です | |
# 2つの引数を掛け算した結果を表示します | |
# 戻り値はanswerです | |
def cal(v1, v2): | |
answer = v1 * v2 | |
return answer | |
v3 = cal(2, 2) | |
print(v3) | |
# 4 | |
v4 = cal(2, 3) | |
print(v4) | |
# 6 |
まとめ
この記事では、Pythonにおける関数の使い方について紹介しました。
Good luck for your engineer life!