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.