Re:ゼロから始める文系プログラマ

未経験がプログラミングを通して人生を変える

【Python・関数】~関数の定義~


スポンサードリンク
 

f:id:ShotaNukumizu_1000:20210405111435p:plain

おはようございます!Shotaです。すっかり5月となってしまいましたね!それはさておき、今日も早速、Pythonに関する記事を書いていきます!

今日は「関数の定義」について解説していきます。

 

【目次】

 

関数を定義する

以前の記事では、既にある関数を呼び出すことができることを学びました。Pythonでは、既にあるものを呼び出すだけではなく自分で関数を作ることもできるのです。

Pythonで、自分で関数を作ることは今後のプログラミング処理や業務でめちゃくちゃ重要なので絶対に抑えておきたい文法です。この記事を通して関数の作り方をマスターしておきましょう!

 

関数の定義は以下の通りです。

 

def 関数名:

 ---実行したい処理---

 

関数は「def」という予約語を使って定義します。その後に関数名、そして引数を指定する()を用意します。最後にあるコロンを必ず忘れないようにしましょう。(忘れると構文エラーが発生します)

そして、インデントして実行したい処理をその下に書きます。

以下のコードを書いてみましょう。

 

def func():
  print('関数の処理')

func()

 

▼実行結果 

f:id:ShotaNukumizu_1000:20210501210933p:plain

 

これを実行すると、コンソールに「関数内の処理」と表示されていると思います。ここで作成したfunc関数を呼び出して表示していることがわかります。

 

引数の利用

先ほどのfunc関数は、呼び出せば「関数内の処理」というメッセージを表示するだけです。これだけでは様々な場面で関数を使うことはできません。今まで使ってきた関数は引数に応じて様々な処理を実装していました。

 

引数とは、関数を実行する際に必要な値などを渡すのに使用される数です。引数を使った値を定義する際は以下のように書きます。

 

def 関数名(引数1, 引数2):

 ---実行する処理---

 

関数にある引数は感まで区切って複数書き出すことができます。

今度は引数を使った関数のコードを書いてみましょう。

 

def print_name(name):
    print(f'Hello, {name}.')

print_name('Python')
print_name('Atom')

 

▼実行結果

f:id:ShotaNukumizu_1000:20210501212102p:plain

 

print_name関数を呼び出す前に、引数に'Python'や'Atom'と名前を指定しています。これで、引数の名前がprint_name関数の引数であるnameに渡されています。

これを使ってメッセージを出力しました。

 

戻り値の利用

残るは戻り値です。戻り値は、関数の定義には影響しませんが、戻り地を利用するための処理が必要となります。

 

def 関数名(変数1, 変数2, 変数3):

 ---実行する処理---

 return 値 

 

戻り値のある関数は、実行分の最後に「return」を用意します。これは関数を抜けるためのもので、ここに値を指定しておくことでその値が戻り値となります。

 

def is_value(x):
    if 0 <= x < 10:
        return True
    else:
        return False

arg = is_value(20)
print(arg)

 

 これを実行すると、「False」と表示されます。

このプログラムはis_value関数を用いて、xの値が0以上10未満のときには「True」、そうではないときは「False」を返します。

このように、returnでメッセージを返していることがわかります。このreturnされた値が、変数argに格納されてprint関数で出力されるのです。

 

キーワード引数とデフォルト値

 キーワード引数は自分で関数を作る際にも活用できます。キーワード引数による関数を定義する際に必要なものはデフォルト値です。これを使うと、関数の引数を一部省略してもそのまま動作させることができます。

以下のように定義できます。

 

def 関数名(キー1=値1、キー2=値2、....):

 

def func(name='none', age=0):
    print(f'Name: {name}({age})')

func()
func('Ken', 20)
func(name='Mary', age=12)

 

▼実行結果

 f:id:ShotaNukumizu_1000:20210502075222p:plain

 

ここでfunc関数を呼び出している部分を見てみましょう。すると、3通りの書き方で呼び出していることがわかります。

 

func('Ken', 20) 

 これは、関数を呼び出す際の一般的な書き方です。キーワード引数であっても、定義してある引数の順番通りに値を用意して呼び出すならば、このようににして関数を呼び出します。

なお、キーワード引数にはデフォルト値が用意されているので引数を省略して書き出すこともできます。この場合、エラーが出力されずにデフォルト値を使って値が実行されます。

 

まとめ

【本日のまとめ】

  • 最もシンプルな関数は、「def 関数名():」として定義する。関数で実行する部分は右にインデントして書く
  • 関数で必要な値は、引数を使って受け渡す。引数は、カンマを使って複数用意できる
  • 戻り値にはreturnを用いる
  • キーワード引数は呼び出す際には省略される。その場合は、用意されたデフォルト値が引数として利用される 

 

 

本ブログでは、こんな感じでPythonにまつわる情報や基本的な知識、Pythonの操作方法やニュースをたくさん紹介していきます。毎週日曜日に、普段とは趣向を変えて有名な自己啓発本・ビジネス書を要約・考察するブログを書いていきます。

この記事がいいと思った人はSNSにシェアしてくれると非常に嬉しいです!

明日は「可変長引数」について解説していきます。

今日も最後まで読んでくださりありがとうございました!

 

 

【参考図書】

gihyo.jp