第 9 章 面向对象编程(1)
朱雷
第 9 章 面向对象编程
Python 是一门支持多种编程风格的语言。面对同样的需求,不同的程序员会写出风格迥异的 Python 代码。一个习惯“过程式编程”的人,可能会用一大堆环环相扣的函数来解决问题。而一个擅长“面向对象编程”的人,可能会搞出数不清的类来完成任务。
虽然不同的编程风格各有优缺点,无法直接比较,但如今面向对象编程的流行度与接受度远超其他编程风格。
几乎所有现代编程语言都支持面向对象功能,但由于设计理念不同,不同编程语言所支持的面向对象有许多差异。比如接口(interface)是 Java 面向对象体系中非常重要的组成部分,而在 Python 里,你压根儿就找不到接口对象。
Python 语言在整体设计上深受面向对象思想的影响。你经常可以听到“在 Python 里,万物皆对象”这句话。这并不夸张,在 Python 中,最基础的浮点数也是一个对象:
❶ 调用浮点数对象的 is_integer() 方法
要创建自定义对象,你需要用 class 关键字来定义一个类:
实例化一个 Duck 对象,并调用它的 .quack() 方法:
为了区分,我们常把类里定义的函数称作方法。除了普通方法外,你还可以使用 @classmethod、@staticmethod 等装饰器来定义特殊方法。在 9.1.2 节,我会介绍这部分内容。
Python 支持类之间的继承,你可以用继承来创建一个子类,并重写父类的一些方法:
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
本文深入介绍了Python中的面向对象编程基础知识,包括类的定义、实例化、方法的定义与调用,以及类之间的继承关系。重点讲解了Python中类的常用知识,包括私有属性的“君子协定”和实例内容保存在字典中的细节。此外,还介绍了Python设计哲学中的“大家都是成年人了”,强调了Python的灵活性和期望程序员做正确事情的理念。另外,文章还介绍了类方法、静态方法和属性装饰器的使用,以及它们在面向对象编程中的作用。此外,还涉及了Python的鸭子类型编程风格,强调了直接判断对象是否具有需要的方法或属性的重要性。文章还探讨了鸭子类型编程风格的优点和局限性,以及抽象类对类型机制的影响,为读者提供了对Python面向对象编程更深入的理解。文章内容丰富,适合初学者快速了解和入门,同时也为有一定基础的读者提供了更深入的理解。此外,还介绍了多重继承与MRO算法,以及MRO与super()函数的关系,为读者提供了更全面的Python面向对象编程知识。文章还介绍了Mixin模式和元类,展示了它们在Python中的应用和作用,为读者提供了更多的编程思路和技术视角。文章内容丰富,适合技术人员深入学习。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 工匠:案例、技巧与工程实践》
《Python 工匠:案例、技巧与工程实践》
立即购买
登录 后留言
全部留言(1)
- 最新
- 精选
- Eason Lau又爱又恨的python2024-01-29归属地:辽宁
收起评论