# 遗产

> 原文： [https://pythonspot.com/inheritance/](https://pythonspot.com/inheritance/)

类可以继承其他类的功能。 如果使用从超类继承的类创建对象，则该对象将包含该类和超类的方法。 对于超类和从超类继承的类的变量也是如此。

与其他流行的编程语言不同，Python 支持从多个类继承。

## 归纳法

We define a basic class named User:

```py
class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def printName(self):
        print("Name  = " + self.name)

brian = User("brian")
brian.printName()

```

这将创建一个称为 brian 的实例，并输出其给定名称。 我们创建另一个称为 Programmer 的类。

```py
class Programmer(User):

    def __init__(self, name):
        self.name = name

    def doPython(self):
        print("Programming Python")

```

除了参数中提供了 User 之外，这看起来非常像标准类。 这意味着可以在 Programmer 类中访问 User 类的所有功能。

## 继承示例

Full example of Python inheritance:

```py
class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def printName(self):
        print("Name  = " + self.name)

class Programmer(User):
    def __init__(self, name):
        self.name = name

        def doPython(self):
            print("Programming Python")

brian = User("brian")
brian.printName()

diana = Programmer("Diana")
diana.printName()
diana.doPython()

```

输出：

```py
Name  = brian
Name  = Diana
Programming Python

```

Brian 是 User 的实例，只能访问方法 printName。 Diana 是 Programmer 的一个实例，该类是继承自 User 的类，并且可以访问 Programmer 和 User 中的方法。

[下载练习](https://pythonspot.com/download-oop-exercises/)