Pythonのdefで関数を定義する 呼び出し方法や引数、返り値

Pythonのdefで関数定義

pythonのdefで関数を定義

Pythonのdefは関数を定義する

pythonのdefのサンプルコード

Pythonのdefは、関数を定義するためのものです。

以下のような書式で使用します。

def 関数名 ([引数, …]):
処理
[return 返り値]

定義した関数の呼び出しは、関数名(引数)という形式で行います。

サンプルコードは以下の通りです。

$ cat defsample.py
#!/usr/bin/python3

def greeting(name):
print(f"こんにちは, {name}")

greeting("じょうじ")
# Output: こんにちは, じょうじ

f”こんにちは…の部分は、フォーマット済み文字列リテラルと呼ばれるもので、文字列中の中括弧で囲んだ部分{name}が変数に置き換わります。

参考)Pythonのprint の「変数をフォーマット文字列で表示する」の項目を参照

$ ./defsample.py
こんにちは, じょうじ

def以外に、無名関数lambdaを使って関数定義することも可能です。

関連)Pythonのlambda式の使い方

Pythonのdefで関数の引数やデフォルト値、可変長引数を定義する

pythonのdefで引数やデフォルト値を定義

  • 関数の定義: def 関数名([引数, …])
  • 引数のデフォルト値指定: def 関数名(引数=デフォルト値)
  • 可変長引数: def 関数名(*args)

デフォルト値の指定とは、関数に渡される引数のうち、無指定の引数に設定される値です。引数に値が渡されなかった場合は、デフォルト値が使用されます。

def greet(name="World"):
print("Hello, " + name + "!")

実行例は以下の通りです。

#デフォルト値を使用
greet()
#=> Hello, World!

#引数を指定
greet("Python")
#=> Hello, Python!

Pythonでは、関数定義において「*」を使用して可変長引数を設定することができます。可変長引数とは、関数に渡される引数の個数が可変であることを意味します。

def my_function(*args):
# 関数の処理

このような関数定義をすると、my_function()関数を任意の個数の引数で呼び出すことができます。例えば、my_function(1, 2, 3, 4)のように、任意の個数の引数を渡すことができます。

def variable_arguments(*args):
for arg in args:
print(arg)

variable_arguments(1, 2, 3, 4, 5)

実行するとこうなります。

1
2
3
4
5

Pythonのdefで返り値を返す

pythonのdefで返り値を返す

Pythonのdefでは、関数を定義する際に、関数から返す値を指定することができます。関数を実行すると、関数の最後に記述した値が関数の返り値として出力されます。

def sample_function():
return "This is a sample function."

print(sample_function())

注意すべき点としては、関数の処理結果を返すためには必ずreturn文を使用することが挙げられます。

def関数では、関数定義を行うだけでは処理結果を返しません。そのため、処理結果を返すためには必ずreturn文を使用して返り値を設定する必要があります。

また、return文を複数書くことはできません。返り値を複数設定したい場合は、辞書やタプルなどを使用する必要があります。

Pythonのdefのまとめ

pythonのdefのまとめ

  • defキーワードを使って関数を定義する。
  • 引数を定義し、関数内で受け取る変数を定義する。
  • returnキーワードを使って関数の処理結果を返す。