Python クラス メンバーとインスタンス メンバー、プライベート メンバーとパブリック メンバー、コード例

Python では、クラス メンバーはクラス定義で定義された変数またはメソッドを指し、インスタンス メンバーはクラスのインスタンス化中に各インスタンスが所有する変数またはメソッドを指します。プライベート メンバーとは、変数またはメソッド名の前に二重アンダースコア「__」を追加することを指します。これにはクラス内でのみアクセスでき、外部からはアクセスできません。パブリック メンバーは、二重アンダースコアのない変数またはメソッドを参照し、クラスの内部および外部からアクセスできます。


下面是一个简单的示例代码:

```python
class MyClass:
    # 公有类成员
    class_var = "I am a class variable"

    def __init__(self, arg1, arg2):
        # 实例变量
        self.arg1 = arg1
        self.arg2 = arg2
        # 私有实例变量
        self.__private_var = "I am a private instance variable"

    # 公有实例方法
    def public_method(self):
        print("I am a public instance method")

    # 私有实例方法
    def __private_method(self):
        print("I am a private instance method")

# 访问公有类成员
print(MyClass.class_var)

# 实例化类
my_obj = MyClass("arg1_value", "arg2_value")

# 访问实例变量
print(my_obj.arg1)
print(my_obj.arg2)

# 访问公有实例方法
my_obj.public_method()

# 访问私有实例变量(会报错)
# print(my_obj.__private_var)

# 访问私有实例方法(会报错)
# my_obj.__private_method()
```

上記のコードでは、`class_var` はクラス名によって直接アクセスできるパブリック クラス メンバーです。`arg1` と `arg2` はインスタンス変数であり、それぞれ独自の値を持ちます。`public_method` は、インスタンス オブジェクトを通じて呼び出すことができるパブリック インスタンス メソッドです。`__private_var` と `__private_method` は、クラスの外部ではなく内部でのみアクセスできるプライベート インスタンス メンバーです。プライベートメンバーが外部からアクセスされると、エラーが報告されます。

おすすめ

転載: blog.csdn.net/babyai996/article/details/131140014