📜  类 python 示例 - Python (1)

📅  最后修改于: 2023-12-03 14:56:44.721000             🧑  作者: Mango

类 Python 示例 - Python

Python 是一种面向对象的编程语言,类是其面向对象的重要特性之一。本文将介绍 Python 中类的基本概念和使用方法,并提供一些示例代码。

类的定义

使用关键字 class 定义一个类,类名称的命名规则与其他 Python 变量相同,遵循驼峰命名法。类的定义可以包含方法和属性,方法和属性的访问权限由名称前面的 _ 控制。

class MyClass:
    def __init__(self, a, b):
        self._a = a
        self._b = b

    def sum(self):
        return self._a + self._b

obj = MyClass(1, 2)
print(obj.sum())

在类的定义中,__init__ 方法相当于 C++ 中的构造函数,用于初始化实例属性。在 Python 中,实例方法的首个参数通常为 self,用于表示当前实例本身,在方法内部访问实例属性时可通过 self. 来访问。

继承

Python 中的继承使用关键字 extends(或称为派生),派生时使用的父类在括号中列出。继承可以获得父类的方法和属性,并可以在子类中重写这些方法和属性。

class MyDerivedClass(MyClass):
    def __init__(self, a, b, c):
        super().__init__(a, b)
        self._c = c

    def sum(self):
        return self._a + self._b + self._c

obj = MyDerivedClass(1, 2, 3)
print(obj.sum())

在子类中可以使用 super() 函数来调用父类的构造函数和方法。使用 super() 函数可以避免硬编码类名,提高代码的可维护性。

多态

Python 中的多态与其他面向对象语言类似,同一份代码在不同对象上表现出不同的行为。在 Python 中,多态通常是通过函数式编程来实现的,即将行为定义为函数,并将具体实现的对象作为参数传入。

def sum_func(obj):
    print(obj.sum())

obj1 = MyClass(1, 2)
obj2 = MyDerivedClass(1, 2, 3)
sum_func(obj1)
sum_func(obj2)

在上面的示例代码中,sum_func 函数接收一个参数 obj,该参数是一个对象,在函数内部可以调用该对象的 sum() 方法。通过将不同的对象作为参数传入该函数,可以在不同的对象上调用 sum() 方法,从而实现多态的效果。

总结

本文介绍了 Python 中类的基本概念和使用方法,包括类的定义、继承和多态。通过本文的示例代码,希望读者可以更好地理解 Python 中类的概念和用法,并能够在实际编程中运用它们。