python

【python】関数とローカル変数とグローバル変数

ここでは、関数を説明します。pythonはオブジェクト指向言語であり命令型プログラミング(手続き型プログラミング) でもあるので関数とメソッドの両方を持っています。関数とメソッドは似ているが別ものです。

・関数・・・単独で呼び出す(print(),int(),map()など、、)

・メソッド・・・変数や値につけて呼び出す(リスト名.append(),リスト名.sort()など、、)

関数の定義方法

関数の定義方法

arg1は引数で0個の場合もあります。関数が返却値(何か計算した値など)を返すときは return 文を利用します。 return 文が実行されると、ただちに関数の実行は終了します。

関数で引数リストを受け取る

関数でキーワード引数を受け取る

通常は次のようなエラーが出ます。

print(1, 2, c=2, d=3, e=4)
TypeError: ‘c’ is an invalid keyword argument for print()

関数に説明をつける

関数の本体に書く一行目を文字列リテラルにすることができます。これをドキュメンテーションと言い、通常、その関数が何を行うかの説明を書いておきます。

任意個数の引数を定義する

引き数を任意の個数だけ欲しい時には、引数の前に*をつける

関数にデフォルト値を持たせて定義する

引数にデフォルト値を持たせることができ、定義するときは kwarg=value の形式で引数を追加します。この関数を呼び出す時は、suffixは省略できデフォルト値が使われる
kwarg=value という形式の キーワード引数を使って、関数を呼び出すことができます。

再帰関数

以下のプログラムは、引数でnを受け取りnの階乗を計算する再帰関数になります

再帰関数とはプログラミングの手法の1つで、プログラムの中に自分自身の呼び出しが含まれ ているものを言います。 再帰関数は、ループ関数と同様に、同様な処理を複数回行う場合に利用されますが、より複 雑な問題を簡単な問題に置き換えて処理できると言われています。再帰関数は以下のような 場面で利用されています。 再帰関数を使ってかけることはだいたいループ関数を使って再現できますが、今後絶対に必 要になってくるので慣れておくようにしましょう。

関数の呼び出し方

関数を呼び出して計算結果を使う

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

関数の引数は変数と同じです。

グローバル変数

ローカル変数

関数の中からグローバル変数を書き換える

global宣言を使うことで、書き換えることができ、グローバル変数になり変数が使えるようになります。ただし、グローバルで宣言していない変数をglobal修飾子をつけ、宣言してもグローバルで宣言されないので、そこには注意が必要です。