Python_def文

ゆうき( @BASEBALLY15 )です^^

関数(def)について勉強しているのですが,使い方がイマイチ理解できないです・・・

そうなんですね.
それでは,今回は,関数(def)の使い方についてご紹介します^^

よろしくお願いします・・・

関数defとは?

関数は,簡単に言うと,『1つのまとまり』です.

下の図を見てもらうと分かりやすいと思います.

関数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)のxyを,『引数』と呼び,x+yを『返り値』と呼びます.

def sum(x, y):
    
    return x+y
#実行
sum(9, 9)

18

図にすると,このようなイメージです.

sum(9, 9)で,xとyに9を入れます.

そして,returnで,9+9が返ってきます.

関数defを使った図2

他にも,関数 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 を使う機会が増えるので,

使い方を習得したいですね^^

それでは・・・

Q &A

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA