📜  类没有对象成员 - Python (1)

📅  最后修改于: 2023-12-03 15:41:10.682000             🧑  作者: Mango

类没有对象成员 - Python

在 Python 中的类是一种定义对象行为和属性的方法,但是与其他语言不同的是,Python 类没有对象成员。

在其他语言中,类定义了一组属性和方法,而实例则是类对象的一个实例,可以访问并修改这些属性和方法。但在 Python 中,一个对象的属性和方法只是存储在这个对象的命名空间中的变量和函数,而不是被存储在类对象本身中。

这意味着,Python 中的类没有实例变量或实例方法。相反,每个对象都有自己的命名空间,可以包含不同的变量和方法。因此,在类中定义的任何属性和方法都是类的属性和方法,而不是对象的属性和方法。

以下是一个简单的示例:

class MyClass:
    x = 0

    def __init__(self):
        self.y = 1

    def my_method(self):
        print("Hello world!")

obj1 = MyClass()
obj2 = MyClass()

obj1.x = 2
obj2.y = 3

print(obj1.x)         # 2
print(obj2.x)         # 0
print(obj1.y)         # 1
print(obj2.y)         # 3

obj1.my_method()      # Hello world!

在上面的代码中,MyClass 定义了一个类,其中 x 是一个类变量,__init__ 是一个构造函数,my_method 是一个类方法。我们创建两个对象 obj1obj2,并修改它们的 x 和 y 成员。然而,由于 Python 类没有对象成员,所以 obj1obj2 的 x 和 y 成员是独立的,而不是共享的。

除此之外,Python 的类也可以使用类方法 (classmethod) 和静态方法 (staticmethod) 来实现某些特别的行为。但这些方法都和对象没有关系,而是和类相关的。

总之,在 Python 中的类不是包含成员的容器,它们只是一组规则和指示,用于创建与使用对象的行为。