関数について【Python入門】戻り値や引数についても解説
カテゴリ:Pythonの話
こんにちは伊神です!
この記事ではPythonの関数について紹介します。
関数を使えば、様々な処理を1つにまとめることができコードがみやすくなったり、重複を減らすことで保守性をあげることができます。
Pythonの関数とは
リストを作成するためのlist関数やリストの長さを調べるためのlen関数などがあありますが、自分でも作って定義することができます。
役割としては
- 何回も出てくる処理を再利用して使いたい
- 処理を分割したい
です。
自分で定義する場合は、pythonでは「def文」を使って関数を定義します。
関数を実際に使ってみる
例えば関数を使って「こんにちは」と表示したい場合
関数名は「hello」としました。
1 2 3 4 5 6 |
def hello(): print('こんにちは') hello() #こんにちは |
と記述します。
引数を使ってみる
名前(inglow)を引数としてそれを呼び出す処理をしたい場合
1 2 3 4 5 6 7 |
def hello(name): messeage = '{0}さん、こんにちは'.format(name) print(message) hello('inglow') #inglowさん、こんにちは |
と記述します。
引数の応用
可変長引数の使い方
引数の手前にアスタリスク「*」を付けることで可変長引数を使うことができます。
1 2 3 4 5 6 |
def hello(*args): print(args) hello('こんにちは','Hello','コンニチハ') #('こんにちは','Hello','コンニチハ') |
このように関数呼び出し時に引数を3つ指定することによって、タプルとして受け取ることができます。
可変長引数を使用しない場合だと引数を3つ受け取るように関数定義をしなければなりませんが、どれだけ引数が与えられるか分からない場合にはこのように可変長引数を使って定義しておきます。
一番わかりやすい例でいうとprint()関数そのものです。
1 2 3 |
print("私は", "name", "という名前です") #私はinglowという名前です |
print関数は可変長引数を使ってできています。
キーワード付き引数を辞書型で使う方法
引数の手前にアスタリスク「*」を2つ付けることで辞書形を使うことができます。
1 2 3 4 5 6 |
def hello(*args, **kwargs): print(args, kwargs) hello('こんにちは','Hello','コンニチハ',a=1,b=2,c=3) #('こんにちは','Hello','コンニチハ'){'a': 1, 'b': 2, 'c': 3} |
辞書型とは、波括弧{}の中にキーワードと値が組み合わされているデータのことです。辞書型を使うことで要素であるバリューとセットのキーを指定することで要素を取り出すことが出来ます。
最後に
今回はPythonの関数について紹介しました。
さらに応用として「デコレータ」「ジェネレータ関数」「ラムダ関数」などがあるので興味がある方はさらに調べてみて下さい!