要約
本日は、Pythonで以下を学びました。
オリジナルの関数
・関数の必要性とメリット
・関数を使うための2ステップ
・関数定義と呼び出し
・ローカル変数と独立性
#hello関数の定義と呼び出し
def hello():
print('こんにちは。城島です。')
hello()
はじめに
前回は「繰り返しの制御」について学びました。
今回は、オリジナルの関数について学習します。
オリジナルの関数
関数の必要性とメリット
これまではPythonに備わっている関数を使ってきましたが、実はオリジナルの関数も作ることができます。
自分で関数を作れるようになると、プログラムを複数の「部品」に分割できるようになります。
このように、1つのプログラムを複数の部品に分けることを部品化といいます。
プログラムを部品化すると、どの処理がどのような機能を担っているのか、プログラムをスッキリと見渡せるようになり、
全体を把握するのがラクになります。
部品化のメリット
・プログラム全体の見通しがよくなり、処理を把握しやすくなる(プログラムの可読性が向上する)
・機能ごとに関数を記述するため、修正範囲を限定できる(プログラムの保守性が向上する)
・何度も使う機能を関数にまとめることでプログラミングの作業効率が上がる

関数ごとにファイルを分けて、呼び出して使うこともできるのかな?
関数を使うための2ステップ
オリジナルの関数を使うには、定義(definition)と呼び出し(call)の2つのステップが必要です。
関数の定義と呼び出し
・ステップ1:関数の定義
呼び出されたらどのような動作を行うかを記述し、名前を付ける。
・ステップ2:関数の呼び出し
関数の名前を記述して関数を呼び出す。定義された動作が実行される。
関数定義と呼び出し
シンプルな関数の定義
def 関数名() :
処理
※処理はインデントとして記述する。
関数名の右にある()の部分は、より複雑な関数を定義するときに使います。
構文の2行目以降は、この関数が呼び出されたときに実行する処理を記述します。
この部分を関数ブロック(function block)といい、if 文やfor 文のブロックと同様、
字下げ(インデント)してブロックの範囲を定めます。
シンプルな関数の場合は、次のような構文で呼び出すことができます。
シンプルな関数の呼び出し
関数名()
オリジナル関数の定義と呼び出しのサンプルを作ってみましょう。
#hello関数の定義と呼び出し
def hello():
print('こんにちは。城島です。')
hello()


Pythonでは、ある関数がすでに存在している状態で、まったく同じ名前の関数を定義することが許されています。
このように、関数などの名前が重複した状態を、一般的に名前の衝突といいます。
関数名が衝突すると、関数の定義が上書きされます。
Pythonが標準で提供している関数と名前の衝突が起こると、Pythonの標準関数が使えなくなります。
関数名の衝突による上書き
すでに定義されている関数と同じ名前を付けると、以前の関数は呼び出せなくなります。



オリジナル関数の名前に注意する必要がありますね!
ローカル変数と独立性
関数内で準備された変数は、その関数の中でしか読み書きできないというルールがあります。
このような変数の性質をローカル変数の独立性といいます。
ローカル変数の独立性
・関数の中で定義された変数は、その関数の中でしか使えない。
・その関数の外やほかの関数の中に偶然同じ名前の変数があったとしても、全く無関係な別の存在として扱われる。
なお、関数の中で定義された変数をローカル変数といいます。
まとめ
本日は、Pythonで以下を学びました。
オリジナルの関数
・関数の必要性とメリット
・関数を使うための2ステップ
・関数定義と呼び出し
・ローカル変数と独立性
#hello関数の定義と呼び出し
def hello():
print('こんにちは。城島です。')
hello()
次回は「引数と戻り値」を扱っていきます。



オリジナル関数を上手に活用して、コードの可読性・保守性をあげていきます!