📅  最后修改于: 2023-12-03 14:56:44.721000             🧑  作者: Mango
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 中类的概念和用法,并能够在实际编程中运用它们。