0. 思考
本质
元类
|
类
|
实例
- 面向对象
面向对象的设计思想是抽象出 Class,根据Class 创建 Instance。(类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”)
面向对象的抽象程度又比函数要高,因为一个Class 既包含数据,又包含操作数据的方法。
- 元类-类-实例
在 Python 中一切皆对象,它们要么是类的实例,要么是元类的实例,但是 type 除外。
类 type 就属于元类(Meta-classes)并且是 Python 内建的元类。
在 Python 中用元类来创建类,类创建对象,如下图所示:

“除非开发框架,否则不要编写元类。”
思考
- 程序
print('Hello world')
输出:Hello world
- 函数
def print_hello(words):
print(words)
print_hello('Hello world')
输出:Hello world
- 类
class print_message():
def __init__(self, word):
self.word = word
def say_hello(self):
print("I say " + self.word)
def say_bye(self):
print('Bye')
print_example = print_message('Hello world')
print_example.say_hello()
输出:I say Hello world
say_bye = print_example
say_bye.say_bye()
输出:Bye
结合上面简单三种打印的方法,可看出来两点:
- 从代码——函数——类这几种方法,仔细看,它们的形式其实高度一致(输入输出),只是组合数据甚至是功能是在不断提高。
- print 其实也是函数(python内置),所以各种形式的对象,不论是函数、模块、包还是什么,万变不离其宗。
基本概念

结构

继承与多态

BIF

对象的性质

访问限制

总结

本文深入探讨了面向对象编程的核心概念,包括类、实例、元类的定义与使用,以及继承与多态的特性。通过对比函数和面向对象的方式,阐述了面向对象编程的抽象程度与优势。
397

被折叠的 条评论
为什么被折叠?



