Pythonの関数

Python SELF JA
レベル 6 , レッスン 1
使用可能

7.1 関数の作成

Pythonでは、関数を作成することがプログラミングの基本的な側面なんだ。これによりコードがもっとモジュール化されて、再利用可能で読みやすくなるよ。Pythonの関数は defキーワードを使って定義されるんだ。その後に関数名と括弧(引数)が続く感じ。

関数って「一連のコマンドをまとめてグループ化して、それに名前を付けたもの」だと思うとイメージしやすいよ。一般的な関数の定義の仕方はこんな感じ:


def name(parameters):
    command1
    command2
    commandN

もっとシンプルな関数はこうなるよ:


def greet():
    print("Hello, World!")

関数を呼び出すには、関数の名前と括弧を書くんだ:


greet()  # 結果: Hello, World!

関数を呼び出すことは、呼び出された場所にその内部コードを書くのと同じ意味を持つよ。同じコードを繰り返し書く代わりに、コードを独立したブロックにまとめて名前を付けられる。

7.2 関数への引数の渡し方

関数が同じことしかできなかったら退屈だよね。だから、関数にはパラメータを用意して、いろんな値を渡すことができる仕様になってるんだ。

関数内の変数は「パラメータ」と呼ばれる。関数を呼び出すときに渡される具体的な値は「引数」と呼ばれるよ。つまり、パラメータに引数の値が設定される感じ。


def greet(name):
    print("Hello,", name)
        
greet("Alice")  # 結果: Hello, Alice!

引数が2つある関数の例:


def print_sum(a, b):
    print(f"合計 {a} と {b} は {a + b}")
        
print_sum(10, 15)  # 結果: 合計 10 と 15 は 25

もちろん、引数には式も渡すことができるよ:


def print_sum(a, b):
    print(f"合計 {a} と {b} は {a + b}")
        
print_sum(10*10-123, 15//2)  # 結果: 合計 -23 と 7 は -16

ポイント! C/C++が好きな人向けに — 全ての変数はPythonではC++のポインタのようなものなんだ。関数のパラメータもそう。値を代入するときに値のコピーや複製は発生せず、常に参照が代入されるんだ。

7.3 関数はオブジェクト

Pythonでは、関数はファーストクラスのオブジェクトなんだ。つまり、関数は他のオブジェクトと同じように扱えるよ。これによって、プログラマーは柔軟なプログラムを書くための強力なツールを手に入れるわけ。

オブジェクトとしての関数

ファーストクラスオブジェクトとして、Pythonの関数は以下のことが可能なんだ:

  • 変数に代入される
  • 他の関数に引数として渡される
  • 他の関数から返される
  • リストや辞書のようなデータ構造に含められる

例:


def shout(text):
    return text.upper()
        
yell = shout
        
def greet(func):
    greeting = func("Hello")  # 関数が呼び出される
    print(greeting)
        
greet(shout)

将来的にこの話題にまた触れるけど、今はこれを覚えておいて — Pythonでは全てがオブジェクト! 関数、クラス、エラー、リスト、モジュールなど、全部!

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION