Python

【Python】defとは?pythonで関数を作成・使用する方法

こんにちは、まさかめです。

この記事ではPythonにおいて関数を作成するdef文について解説します。

結論だけ知りたい人向け

まず、長々とした前提はいらないからdef文の使い方だけ教えてくれという方向けに、
def文を用いた関数作成のコードサンプルをおいておきます。

 

▼引数に名前を入れると自己紹介できる関数(返り値のない例)

def function(name):
  print("こんにちは、私の名前は" + name + "です!")

function("まさかめ")
>>こんにちは、私の名前はまさかめです!

 

▼2つの引数を入力すると合計値が返される関数(返り値のある例)

def function(x, y):
  return x + y

function(100, 10)
>>110

def文とは?

ここからは詳しくdef文について解説していきます。

まさかめ
まさかめ
関数って何?返り値って?という人でもOK!

 

まず、pythonでdef文とは関数を定義するものです。

関数とは、一連の処理を一つのまとまりにしたものです。
下記のような内容が関数の基本的な例となります。

「実行すると現在時刻を教えてくれる」
「数字を2つ入力すると合計値を教えてくれる」

プログラムの中で何度も同じ処理を行う際は、
その繰り返し行う部分を関数として扱うことで、
「コードの可読性が上がる」
「コードの記述量が減って効率的」
「プログラム中のコーディングミスを減らせる」
などのメリットがあります。

defの使い方

続いて、具体的なdef文の使い方です。
def文は大きく2段階で使用します。

  1. defを用いて関数を定義
  2. 定義した関数を使用
まさかめ
まさかめ
使い方はとってもシンプルだね!

defを用いて関数を定義

def 関数名(引数1, 引数2, ...):
  実行したい処理
  return 戻り値

 

関数名 : 実行したい処理を表した名前
引数  : 関数の中で使用したい値
戻り値 : 関数を実行した際に、結果として欲しい値

まさかめ
まさかめ
関数名(引数)のあとに” : “を忘れないでね!

 

下記は、引数として数字を2つ入力すると合計値を教えてくれる関数です。

def sample_function(x, y):
  z = x + y
  return z

定義した関数を使用

関数の実行は非常にシンプルです。

以下のように、関数名と引数を指定してあげればOK。

sample_function(100, 10)

こちらを実行すると、結果として110という値が帰ってきます。

注意点

上記で説明したように、Pythonにおけるdef文での関数作成は非常にシンプルであり、
そこまで難しいものではないかと思います。

しかし、注意点が全くないわけでもないので、
特に以下2点は気をつけてください。

def文中のインデント

def sample_function(x, y):
  z = x + y
  return z

 

さきほどした上記の関数例ですが、
インデントがついていることに気をつけましょう。

このインデントがないと関数の処理内容として認識されずに
想像した動作通りになりません。

まさかめ
まさかめ
インデントは、コードの始まりを字下げすることだよ

ローカル変数とグローバル変数

変数にはローカル変数とグローバル変数があり、
この違いを理解しておかないと

悩んでる人
悩んでる人
あれ?さっき作った変数が使えない!?

ということになってしまうかもしれませんので、
両者の違いを覚えておきましょう。

ローカル変数  : 宣言した関数の中でのみ使える変数

グローバル変数 : プログラム中のどこでも使える変数

▼aがローカル変数

def sample_function_2(x):
  a = 100
  return a*x

この場合は、関数の中でのみ変数aを使用できます。

 

▼aがグローバル関数

a = 100
def sample_function_2(x):
  return a*x

この場合は、関数の外でも中でも変数aを使用できます。

まとめ

今回はPythonにおけるdef文の使い方をお伝えしました。

プログラミングを行っていく上で関数を定義して使用するというのは、
必ず必要な知識となりますので、しっかりと理解して自分のものにしてください!

まさかめ
まさかめ
ではまた!