【Python入門】関数の定義と呼び出し

Pythonの基礎
スポンサーリンク

ここまで扱ってきたPythonのコードは、断片的な処理でした。小さなコードを扱ってきたわけです。

でも、プログラミングのコードはこういった小さなコードを何度も繰り返して記述して動かすのではなく、もっと大きなコードとしてまとめられていて、こういった小さな断片は部品として管理していく事になります。

その一つが関数の導入です。

この関数を利用する事で、いろんな部品を呼び出してプログラミングを手軽に作って行くことができます。

スポンサーリンク

関数とは?

関数は、よく利用する処理や繰り返し利用する処理を手軽に実行することができます。

関数を呼び出すには、数値や文字列などの任意の引数を用意して実行します。実行された結果を戻り値として返します。この関数の結果を、他の処理や演算に利用することもできます。

Pythonにはあらかじめ組み込み関数というものが用意されていて、それを利用してプログラミングするだけでなく、自分で処理をまとめて関数を作ることもできます。

スポンサーリンク

関数を使う

Pythonにはあらかじめ組み込み関数が用意されています。これまで扱った中でもいろいろ出てきました。Pythonの組み込み関数はこちらで確認できます。

組み込み関数
Python インタプリタには数多くの関数と型が組み込まれており、いつでも利用できます。それらをここにアルファベット順に挙げます。,,,, 組み込み関数,,, A, abs(), aiter(), all(), anext(), any(), ascii(),, B, bin(), bool(), breakpoint...

関数を呼び出す

関数を呼び出すには、関数名に丸括弧をつけて呼び出します。

次の例で見てみましょう。

 s = "Python"
len(s)

関数名のlenに丸括弧()をつけて呼び出しています。ここでは変数sを引数としていれて、その長さを数値として返す処理をしています。

len()で呼び出して、sに格納されている文字列の長さ「6」が返されています。

引数

上の関数でも行いましたが、関数によっては丸括弧の中に数値や変数を入れて処理することがあります。この関数に与える数値や変数などの情報を引数(ひきすう)と呼びます。(引数を入れずに実行する関数もあります)

先ほど扱ったlen()には文字列をの入った変数sを引数として使いました。

この引数は、関数ごとにどんなものを入れるか決まっています。len()関数には、文字列やリストなどのシーケンスを渡すという決まりがあります。決まりと違うものを入れるとエラーが表示されます。 len()に数値の6を入れてみましょう。

シーケンスではなく、単に数値を入れているのでエラーになっているのがわかりす。

関数の戻り値

len()関数で見たように、関数によっては呼び出した結果としてオブジェクトを返すことがあります。len()は長さを返しましたね。この結果として返す値を戻り値と呼びます。

関数によって、何を返すのかが違います。この戻り値はオブジェクトなので文字列や数値のリテラル、変数などと同じように使うことができます。この戻り値を利用して計算したり、他の関数の引数として使うことで別の処理をしたりすることができます。

スポンサーリンク

関数を定義する

Pythonの組み込み関数についてlen()関数を例に見てきましたが、繰り返し実行する処理や、他のプログラミングで使えそうな処理を新しい関数として作ることがでます。

関数を作るには関数に名前をつけなくてはいけません。これを関数名とします。

関数名は変数の時と同じように使える文字が決まっています。関数名として使えるのは次の文字だけです。

  • 小文字の英字(a-z)
  • 大文字の英字(A-Z)
  • 数字(0-9)(ただし関数の先頭文字としては使えません)
  • アンダースコア(_)

では、早速関数を定義して行きましょう。

関数を作る

関数を定義するにはdef文を使います。def文に続けて関数名を置いて丸括弧を置きます。丸括弧の中には引数の定義を入れる場合もあります。文末にはコロンを置きます。その下に実行コードを書きますが、このブロックはif文などと同じようにインデントで字下げします。

形としてはこんな感じになります。

def 関数名([引数の定義]):
    実行コード

具体的に関数を作ってみましょう。

関数を実行すると、「Hello!」と返す関数を作ってみます。

def say_hello():
    print("Hello!")

関数名をsay_helloにしています。ここでは特に引数は必要ないので定義しません。実行するブロックには「Hello!」と出力するコードを書いています。

これを実行してみましょう。関数名に丸括弧で実行です。

say_hello()で実行すると「Hello!」と出力されています。

この関数を少し変えてみます。引数に名前を入れて、挨拶と一緒に名前を返すコードを作ります。

def say_hello_someone(name):
    print("Hello!" + name)

関数名をsay_hello_someoneにして、引数にnameという変数を準備します。挨拶のあとに加えて出力するのでこれは文字列になります。

実行してみましょう。

関数の引数に「Python!」を入れて実行しています。きちんと出力されているのがわかります。

スポンサーリンク

まとめ

Pythonにはあらかじめ用意された組み込み関数があります。組み込み関数一覧はこちらで確認できます。

関数は自分でも作ることができます。defキーワードに続けて関数名を置き丸括弧を続けてコロンを置きます。インデントしたブロックに実行するコードを書きます。丸括弧の中に引数を指定することもできます。

関数を呼び出すには関数名に丸括弧で実行します。実行して得られた結果を変数として計算したり、関数に代入して利用したりできます。

Pythonの基礎
スポンサーリンク
CodeGraffitiをフォローする

コードグラフィティ ~ とにかく進もうプログラミング入門~
タイトルとURLをコピーしました