Pythonオブジェクトをパラメータとして渡す方法は何ですか?

Pythonでは、オブジェクトは関数呼び出しとしてパラメータを渡す方法で渡されます。オブジェクトが関数にパラメータとして渡されると、実際のオブジェクトの参照が関数に渡されます。

つまり、関数の中であれば受け取ったオブジェクトを参照して操作が可能で、オブジェクトを書き換えると、関数外で元のオブジェクトにも反映されます。これは関数呼び出し時にはオブジェクトのコピーではなくオブジェクトへの参照が渡されるためです。

オブジェクトを関数にパラメータとして渡す方法は、以下の簡単な例の通りです。

class Person:
    def __init__(self, name):
        self.name = name

def change_name(person):
    person.name = "Alice"

person = Person("Bob")
print(person.name)  # 输出:Bob

change_name(person)
print(person.name)  # 输出:Alice

上の例では、まず Person という名前のプロパティを持つ Person というクラスを定義しました。次に、person パラメータを受け取り、その名前を「Alice」に変更する change_name という関数を定義しました。最後に、Person オブジェクト person を作成し、それを change_name 関数に渡しました。関数内では、person オブジェクトの name プロパティを変更することでオブジェクトの状態を変更し、関数外部の元のオブジェクトに影響を与えました。

可変オブジェクトは関数内で変更しても関数外のオブジェクトに影響がでますが、immutableなオブジェクトは関数内で変更しても関数外のオブジェクトに影響しません。

bannerAds