
ゆうき( @BASEBALLY15 )です^^
関数(def)について勉強しているのですが,使い方がイマイチ理解できないです・・・
そうなんですね.
それでは,今回は,関数(def)の使い方についてご紹介します^^
よろしくお願いします・・・

目次
関数defとは?
関数は,簡単に言うと,『1つのまとまり』です.
下の図を見てもらうと分かりやすいと思います.

会社に例えると,会社内にたくさんの社員がいるイメージです.
コードで表すとこのようになります.
def company():
print("私はAです.")
print("私はBです.")
print("私はCです.")
print("私はDです.")
print("私はEです.")
print("私はFです.")
company()
私はAです. 私はBです. 私はCです. 私はDです. 私はEです. 私はFです.
今回は,この関数 def の使い方についてご紹介します.
関数 def の使い方についてまとめてみました!
関数 def で簡単な計算をしてみよう!
まずは,関数 def を使って,簡単な計算をしてみます.
sum(x, y)のxとyを,『引数』と呼び,x+yを『返り値』と呼びます.
def sum(x, y):
return x+y
#実行
sum(9, 9)
18
図にすると,このようなイメージです.
sum(9, 9)で,xとyに9を入れます.
そして,returnで,9+9が返ってきます.

他にも,関数 def の使い方を見てみましょう⤵
引数をあらかじめ決めてみよう!
関数は,引数をあらかじめ決めることも出来ます.
#引数をあらかじめ決めておく
def my_name(name="Bob", age=40):
print("My name is " + name + ".\n" + "I am " + str(age) + "years old.")
このように,
name=”Bob”, age=40
とあらかじめ決めておくと・・・
#実行
my_name()
My name is Bob. I am 40years old.
実行した時に,nameにBobが入り,ageに40が入ります.
ちなみに,あらかじめ引数を決めていても,後から変更することが出来ます.
呼び出すときに,name=”Mike”に変更してみると・・・
#引数を変更してみる(第1引数)
my_name(name="Mike")
My name is Mike. I am 40years old.
このように,BobからMikeに変更されています.
また,1つだけでなく,2つ同時に変更することも可能です.
#両方の引数を変更してみる
my_name(name="Mike", age=25 )
My name is Mike. I am 25years old.
可変長引数を使ってみよう!
次に,可変長引数についてご紹介します.
可変長引数は,関数を呼び出すときに,値の数が決まっていないときに使います.
引数に『アスタリスク(*)』を加えます.
例えば,このように使います.
def my_name(age, *names):
for name in names:
print("My name is " + name + ".\n" + "I am " + str(age) + "years old.")
#実行
my_name(25, "Mike", "Bob", "John")
My name is Mike. I am 25years old. My name is Bob. I am 25years old. My name is John. I am 25years old.
可変長引数を使うと,namesという引数に,複数入れることが出来ます.
しかし,この可変長引数では,1つの引数しか扱うことが出来ません.(ここでは,『names』のみ)
そこで,複数の項目に変更を加える方法をご紹介します.
辞書型の可変長引数を使ってみよう!
ここでは,『names』と『age』を同時に変更する方法をご紹介します.
複数の項目に変更を加える場合,
引数に,アスタリスク(*)を2つ並べます.
def my_name2(**person):
for name, age in person.items():
print("My name is " + name + ".\n" + "I am " + str(age) + "years old.")
#実行
my_name2(Mike = 25, Bob = 30, John = 40)
My name is Mike. I am 25years old. My name is Bob. I am 30years old. My name is John. I am 40years old.
↑
ちなみに,アスタリスクを2つ並べることで,辞書型になっています.
以下のようにコードを書くと理解できると思います.
def my_name3(**person):
print(person)
#実行
my_name3(Mike = 25, Bob = 30, John = 40)
{‘Mike’: 25, ‘Bob’: 30, ‘John’: 40}
終わりに
今回は,関数 def の使い方についてご紹介しました.
コードが長くなればなるほど,関数 def を使う機会が増えるので,
使い方を習得したいですね^^
それでは・・・