Python における関数の定義と使用

PythonBeginner
オンラインで実践に進む

はじめに

この実験(Lab)では、Python で関数を定義し、使用する方法を学びます。関数はコードを整理し、再利用性を高めるために不可欠です。まず、関数の概念を理解し、Python の組み込み関数を探求し、パラメータを使用してそれらを呼び出し、その出力を観察する方法を学習します。

組み込み関数の探求に続き、独自のシンプルな関数を定義する方法を学びます。最後に、これらのユーザー定義関数を呼び出して、それらが含むコードブロックを実行する練習を行い、Python における関数作成と使用の理解を深めます。

組み込み関数の理解と使用

このステップでは、関数の概念を探求し、Python の組み込み関数を使用する方法を学びます。関数とは、特定の操作を実行する再利用可能なコードブロックのことです。Python には、print()len()sum()など、すぐに使用できる多くの組み込み関数が用意されています。

これらの関数のいくつかがどのように機能するかを見るために、Python スクリプトを記述することから始めましょう。

まず、左側の WebIDE ファイルエクスプローラーでbuiltin_functions.pyファイルを見つけてください。このファイルは、~/projectディレクトリにあらかじめ作成されています。ファイルをダブルクリックしてエディタで開きます。

次に、builtin_functions.pyファイルに次の Python コードを追加します。このコードは、いくつかの組み込み関数を呼び出す方法を示しています。

## print() 関数を使用して出力を表示する
print("Hello, Python Functions!")

## len() 関数を使用して文字列の長さを取得する
message = "Hello World"
print(len(message))

## sum() 関数を使用してリスト内の数値を合計する
numbers = [1, 2, 3, 4, 5]
total = sum(numbers)
print(total)

コードを記述した後、Ctrl+Sを押してファイルを保存します。

スクリプトを実行するには、WebIDE で統合ターミナルを開きます(まだ開いていない場合は、上部メニューからTerminal > New Terminalを選択します)。次に、次のコマンドを実行します。

python ~/project/builtin_functions.py

ターミナルに、各print()呼び出しからの出力が表示されます。

Hello, Python Functions!
11
15

この出力は、組み込み関数の呼び出し結果を示しています。print()はテキストを表示し、len()は文字列内の文字数を返し、sum()はリスト内の項目の合計を計算します。

パラメータと戻り値を持つ関数の使用

関数は、処理するために入力データが必要になることがよくあります。このデータはパラメータ(引数とも呼ばれます)として関数に渡されます。処理後、関数は結果を返すことができ、これは戻り値として知られています。

パラメータを受け取る関数を探求し、その戻り値をどのように使用できるかを確認するために、builtin_functions.pyスクリプトを拡張しましょう。

WebIDE エディタでbuiltin_functions.pyファイルを再度開きます。ファイル末尾に次のコードを追加します。

## 複数の数値パラメータを使用して max() 関数を使用する
largest_number = max(10, 25, 15)
print(largest_number)

## 2 つのパラメータを使用して round() 関数を使用する
pi_approx = 3.14159
rounded_pi = round(pi_approx, 2) ## 小数点以下 2 桁に丸める
print(rounded_pi)

## リストパラメータを使用して sorted() 関数を使用する
unsorted_list = ['cherry', 'apple', 'banana']
sorted_list = sorted(unsorted_list)
print(sorted_list)

変更をファイルに保存します(Ctrl+S)。

次に、ターミナルから更新されたスクリプトを実行します。

python ~/project/builtin_functions.py

ターミナルには、元のコードと新しいコードの両方からの出力が表示されます。

Hello, Python Functions!
11
15
25
3.14
['apple', 'banana', 'cherry']

新しい出力を確認しましょう。

  • max(10, 25, 15)は 3 つの数値をパラメータとして受け取り、最大値である25を返します。
  • round(pi_approx, 2)は数値と小数点以下の桁数をパラメータとして受け取ります。丸められた値である3.14を返します。
  • sorted(unsorted_list)はリストをパラメータとして受け取り、要素が昇順にソートされた新しいリストを返します。

それぞれの場合において、私たちは関数の戻り値を(largest_numberrounded_pisorted_listという)変数に格納してから出力しました。これは一般的で有用な慣行です。

簡単な関数の定義

組み込み関数は強力ですが、カスタムタスクを実行するためには、独自の関数を作成する必要がよくあります。これは関数の定義と呼ばれます。

Python では、defキーワードを使用して関数を定義します。基本的な構文は次のとおりです。

def function_name(parameters):
    """Docstring: 関数のオプションの説明。"""
    ## 実行されるコード(関数本体)
    ## ...
    return value  ## オプションの return 文
  • def: 関数定義を開始するキーワード。
  • function_name: 関数のための説明的な名前。
  • (parameters): 関数の入力変数。関数はゼロ個以上のパラメータを持つことができます。
  • :: コロンは関数ヘッダーの終わりを示します。
  • インデント: 関数内のコード行はインデントされている必要があります(通常は 4 スペース)。これが Python がステートメントをグループ化する方法です。

最初の関数を作成してみましょう。WebIDE ファイルエクスプローラーでmy_functions.pyファイルを見つけて開きます。

挨拶を出力する関数を定義するために、my_functions.pyに次のコードを追加します。

## 'greet'という名前のシンプルな関数を定義する
def greet():
    """この関数はシンプルな挨拶メッセージを出力します。"""
    print("Hello from a user-defined function!")

ファイルを保存します。

この時点で、greetという名前の関数を正常に定義しました。しかし、このスクリプトを実行しても何も起こりません。関数を定義することは、Python に関数が何をするかを伝えるだけであり、その中のコードを実際に実行するわけではありません。関数のコードを実行するには、それを呼び出す必要があります。これは次のステップで説明します。

ユーザー定義関数の呼び出し

関数を定義した後、そのコードを実行するために呼び出す必要があります。関数を呼び出すのは簡単です。関数の名前の後に括弧 () を付けるだけです。

前のステップで定義したgreet関数を呼び出してみましょう。

WebIDE エディタでmy_functions.pyファイルを開きます。関数定義のに、関数を呼び出すコード行を追加します。

## 'greet'という名前のシンプルな関数を定義する
def greet():
    """この関数はシンプルな挨拶メッセージを出力します。"""
    print("Hello from a user-defined function!")

## greet 関数を呼び出してそのコードを実行する
print("Calling the function now...")
greet()

ファイルを保存します。関数呼び出し greet()def greet(): ブロックの後に来るようにすることが重要です。Python はファイルを上から下に読み込むため、関数を呼び出す前に定義する必要があります。

次に、ターミナルからスクリプトを実行します。

python ~/project/my_functions.py

コンソールに出力が表示されます。

Calling the function now...
Hello from a user-defined function!

関数の大きな利点は再利用性です。コードを書き直すことなく、同じ関数を複数回呼び出すことができます。greet()をもう一度呼び出してみましょう。my_functions.pyを次のように変更します。

## 'greet'という名前のシンプルな関数を定義する
def greet():
    """この関数はシンプルな挨拶メッセージを出力します。"""
    print("Hello from a user-defined function!")

## greet 関数を複数回呼び出す
print("Calling the function...")
greet()
print("Calling it again...")
greet()

ファイルを保存し、もう一度実行します。

python ~/project/my_functions.py

出力には、関数が 2 回実行されたことが示されます。

Calling the function...
Hello from a user-defined function!
Calling it again...
Hello from a user-defined function!

これにより、関数がいかにしてよりクリーンで、整理され、再利用可能なコードの記述に役立つかが示されます。

まとめ

この実験(Lab)では、Python における関数の基礎を学びました。まず、print()len()sum()などの Python の組み込み関数を探求し、スクリプト内でそれらを呼び出す練習をしました。次に、max()round()sorted()などの例を用いて、パラメータを渡し、戻り値を使用することで、関数がどのように機能するかを深く掘り下げました。

最後に、defキーワードを使用して独自のカスタム関数を定義する構文を学び、ユーザー定義関数を呼び出してそのコードを実行する練習をしました。この実験(Lab)は、あらゆる Python プログラマーにとって重要なスキルである、モジュール化され再利用可能なコードを作成するための強固な基盤を提供しました。