9章関数
職務が小さければ小さいほど
管理しやすくなる。
──シリル・ノースコート・パーキンソン
本書のこれまでのPythonコードは、すべて小さな断片だった。小さな仕事には、こういうコードも役に立つが、小さなコードを繰り返しタイプしたいと思う人はいない。大きなコードを管理できる部品にまとめる方法が必要だ。
コードの再利用のための第一歩は、関数である。関数とは、ほかのコードから切り離され、名前を付けられたコードだ。関数は任意の型、任意の個数の入力引数を取り、任意の型、任意の個数の結果を出力する。
プログラマが関数に関してできることは次の2つだ。
- 関数の定義
- 関数の呼び出し
9.1 defによる関数の定義
Python関数を定義するには、def
と入力し、関数名を書き、関数に対する入力引数を括弧に囲んで書き、最後にコロン(:
)を書く。関数名は、変数名と同じ規則に従う(先頭は英字か_
でなければならず、英字、数字、_
以外使えない)*1。
一度に1歩ずつ進むことにしよう。まず、引数を取らない関数を定義して呼び出す。次に示すのは、Pythonでもっとも単純な関数だ。
*1 監訳注:これはPython 2までの制限であり、Python 3ではUnicode文字も使用できる。PEP 3131参照。
>>> def do_nothing(): ... pass
この関数のように、引数を取らない関数でも、定義の中には括弧とコロンが必要だ。次の行は、if
文の下のコードをインデントするのと同じように、インデントされていなければならない。この関数が何もしないことを示すためには、pass
文が必要だ。こうすると、このページを意図的に空白にするのと同じことになる(もう空白ではないが)。 ...
Get 入門 Python 3 第2版 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.