编程小白的自学笔记七(python中类的继承)

简介: 编程小白的自学笔记七(python中类的继承)

、单继承

继承,继承顾名思义,把你的都给我,也就是说一个类有了另一类的属性和方法。继承的类叫子类,被继承的类叫父类,也就是说子类有父类所有的方法和属性,而且子类还有自己的方法和属性,举个例子,特仑苏是牛奶,但是不是所有的牛奶都叫特仑苏,牛奶是父类,特仑苏是子类。


只有一个父类的继承叫做单继承,我们来看一下代码。

class fulei:
    def __init__(self):
        pass
    def fangfa(self):
        print('我被继承的')
class zilei(fulei):
    pass
dog = zilei()
dog.fangfa()


程序运行结果不出所料,输出了“我被继承的”,可以看出,在“zilei”我并没有定义“fangfa”方法,但是实例后,却可以调用,说明“zilei”是有这个方法,哪来的呢?继承“fulei”来的。


同时在这里我学到一个新知识,默认情况下,类是从“object”类继承下来的,这种情况下“object”和括号都可以省略,所以我们定义“fulei”时,后面没有括号。若不是继承“object”类,那么需要按照规则编写代码。

二、多继承

顾名思义,多继承就是继承了多个父类,拥有多个父类的属性和方法,这个在显示生活中也是存在的,比如说男大学生,既有男人的全部属性,也有大学生的全部属性,不知道我这个例子举的恰当不恰当。我们来看一下代码:

class Dog:
    def run(self):
        print('我会跑')
class Cat:
    def jump(self):
        print('我会跳')
class zilei(Dog,Cat):
    pass
dog = zilei()
dog.run()
dog.jump()

运行成功,输出结果是:

我会跑

我会跳

说明子类具有两个的父类的方法,这里我尝试没有写__init__方法,程序也是能正常运行,为此,我又专门了解了下__init__()的用法。

三、__init__()函数

`__init__()`函数是Python类中的特殊方法之一,它在创建对象时被自动调用。该函数通常用于初始化对象的属性和执行其他必要的操作。


`__init__()`函数的语法如下:

```python
class ClassName:
    def __init__(self, arg1, arg2, ...):
        self.attribute1 = arg1
        self.attribute2 = arg2
        ...
```

其中,`ClassName`表示要定义的类名,`arg1`, `arg2`, ...表示传递给构造函数的参数。在函数内部,我们可以使用`self`关键字来引用当前对象的属性。


下面是一个简单的例子,演示了如何使用`__init__()`函数来初始化一个名为`Person`的类的对象:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
person1 = Person("Alice", 25)
print(person1.name) # Output: Alice
print(person1.age) # Output: 25

在这个例子中,我们定义了一个名为`Person`的类,并在其中定义了一个`__init__()`函数。该函数接受两个参数:`name`和`age`,并将它们分别赋值给对象的`name`和`age`属性。然后我们创建了一个名为`person1`的`Person`对象,并打印出它的属性值。



__init__()函数确实不是必须的,但是它在初始化的时候可以对一些属性进行定义,这样就大大方便了我们调用类里面的方法,不需要重复传参。


总结

以下是关于Python类继承的一些总结:


 1. 子类可以继承父类的所有属性和方法,包括私有属性和方法。


 2. 子类可以重写父类的方法,以实现不同的行为。


 3. 子类可以添加新的属性和方法,以扩展父类的功能。


 4. Python中的继承是单向的,即子类不能继承父类的基类。


 5. Python中的继承是动态的,即子类可以在运行时修改其继承自父类的属性和方法。


 6. Python中的继承是多态的,即子类可以重写父类的方法,并根据不同的情况执行不同的代码。


 7. Python中的继承是一种面向对象编程的基本概念,它使得代码更加模块化、可重用和可维护。


相关文章
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
769 102
|
6月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
413 104
|
6月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
331 103
|
6月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
271 82
|
5月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
379 3
|
5月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
604 3
|
5月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
415 3
|
5月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
504 0
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的多面手
Python:现代编程的多面手
227 0
|
6月前
|
存储 人工智能 算法
Python实现简易成语接龙小游戏:从零开始的趣味编程实践
本项目将中国传统文化与编程思维相结合,通过Python实现成语接龙游戏,涵盖数据结构、算法设计与简单AI逻辑,帮助学习者在趣味实践中掌握编程技能。
586 0

推荐镜像

更多