Python基礎~def文~

はじめに

こんにちは。風助です。

今回はdef文について書いていきます。

def文とは

def文は関数を自作するためのものです。
Pythonはもともと多くの組み込み関数がありますが、どうしても関数を自作したいときもあります。
簡単な計算を何度も使いまわしたいときなどですね。
関数を自作するのは簡単なので、ぜひ覚えていきましょう。

関数を自作する方法は2種類あります。
def文とlambda式。今回はdef文について書いていきます。

def文の書き方、使い方

ではまず書き方から。

def fun(n):
    """引数を2乗するだけの関数"""
    Ans = n ** 2
    print(Ans)
    print("-----")
    return Ans

このコードは引数(n)を2条するだけの関数です。

一番初めのdefでこれから関数を定義すると宣言します。
そして関数の名前(今回はfun)を書き、かっこのなかに引数を指定します。
この時、引数はいくつでもOKですし、デフォルト値の設定も可能です。
そのあとが関数本体になります。

関数本体の一番初めにはドキュメンテーション文字列を配置できます。
このドキュメンテーション文字列にはある程度ルールがあります。関数の説明などを書きます。

そのあとには実際に行われる様々な計算などを書きます。
ここは皆さんの自由に複雑な計算式でも書いてください。

最後に計算結果の出力方法について。
関数を作ってもその計算結果を出力する必要があります。
今回の関数では最後にprint()returnがあります。
print()はいままで使っているprint()と同じ動きをします。
returnは値を返しながら元のコードに復帰(関数を抜ける)します。
returnが指定されてないとNoneを返します。

書き方としてはこんなものでしょうか。もっといろいろ考えることはありますが、最低限の書き方は書けたと思います。

次は使い方。コールの仕方は組み込み関数と同じです。

def fun(n):
    """引数を2乗するだけの関数"""
    Ans = n ** 2
    print(Ans)
    print("-----")
    return Ans

fun(5)

f = fun(3)
print(f)

この場合の出力は以下のようになります。

25
-----
9
-----
9

今回の関数にはもともとprint関数が入っているので関数を実行するだけで出力されます。
そのあとの変数(f)に代入しているところについて。
この時、代入した時点で関数が実行されています。そのため3の2乗である9、そして”—–“がプリントされます。
その後、print(f)のところでは返り値、つまりreturnの値のみを出力しています。

終わりに

今回はdef文について書きました。

皆さんの参考になると幸いです。

コメント

  1. gralion torile より:

    Some really howling work on behalf of the owner of this web site, absolutely outstanding subject material.

タイトルとURLをコピーしました