返回介绍

第28章 类代码编写细节

发布于 2024-01-29 22:24:15 字数 841 浏览 0 评论 0 收藏 0

如果你还没有完全搞懂所有的Python OOP的内容,请别担心,我们已经很快浏览了这些内容,现在将会更深入地研究之前介绍过的概念。在这一章及以后的各章中,我们要从另一个角度看待类机制。这里,我们将继续学习类、方法和继承,正式讲解第26章介绍的一些编写类概念,并进行扩展。因为类是最后一个命名空间工具,所以我们也要在这里总结Python中命名空间的概念。

下一章将继续深入回顾类机制,介绍一个更为特殊的方面:运算符重载。除了介绍详细细节,本章和下一章还会介绍一些比以前所见规模更大的类。

class语句

虽然Python class语句表面上看起来与其他OOP语言的工具类似,但仔细观察时,和一些程序员习惯的东西其实有着很大的不同。例如,class语句是Python主要的OOP工具,但与C++不同的是,Python的class并不是声明式的。就像def一样,class语句是对象的创建者并且是一个隐含的赋值运算——执行时,它会产生类对象,并把其引用值存储在前面所使用的变量名。此外,像def一样,class语句也是真正的可执行代码。直到Python抵达并运行定义的class语句前,你的类都不存在(一般都是在其所在模块被导入时,在这之前都不会存在)。

一般形式

class是复合语句,其缩进语句的主体一般都出现在头一行下边。在头一行中,超类列在类名称之后的括号内,由逗号相隔。列出一个以上的超类会引起多重继承(第30章会进一步讨论)。以下是class语句的一般形式。

在class语句内,任何赋值语句都会产生类属性,而且还有特殊名称方法重载运算符。例如,名为__init__的函数会在实例对象构造时调用(如果定义过的话)。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文