1. 引言
大家首先需要记住一句话:类是模板,而实例则是根据类创建的对象。在面向对象编程语言中,类class最为常见。为此,本文重点来介绍在Python中创建类的六重境界。 闲话少说,我们直接开始吧!
2. Level 1: Basic class
在Python中,类通过 class 关键字定义,最简单的创建类的代码样例如下:
3. Level 2: Basic class with basic method
我们这里不在直接使用关键字pass
,在类内什么都不做。因此,我们可以考虑通过添加相应的成员函数来实现相应的功能,样例代码如下:
4. Level 3: Basic class with init method
接着让我们在类内添加一个__init__
魔法方法,首先需要理解的是,两个下划线开头的函数是声明该属性为类内私有函数,同时__init__
函数支持带参数类的初始化,也可为声明该类的属性(类中的变量)。
样例代码如下:
5. Level 4: Class that inherits from another class
通过使用类Dog(Animal)
语法,我们可以使Dog
类继承父类Animal
类。这意味着Dog
类可以访问父类Animal
类中的任何属性或方法。
样例代码如下:
6. Level 5: Class that inherits from another class with init
如果我们的子类与父类有不同的__init__
函数,此时我们可以在子类中使用super().__init__
。这实际上是在子类中的__init__
函数中调用父类中的__init__
函数。
样例代码如下:
上述代码中,在类Square
的__init__
函数中,我们使用super().__init__
函数,本质上是调用父类Rectangle
中的__init__
函数。由于正方形中的长度等于宽度,所以这里我们将length
传递给super().__init__
两次。
示例代码如下:
7. Level 6: Dataclasses
什么?你说在定义类的时候经常忘记写函数__init__
,此时我们不妨来使用dataclass。样例代码如下:
是不是敲方便?
8. 总结
本文重点介绍了在Python中创建类的六重境界,并给出了相应的代码示例。
您学废了嘛?