抽象基类有些面向对象的语言,如JAVA,支持接口,可以声明一个支持给定的一些方法方法,或者支持给定存取协议的类。抽象基类(或者ABCs)是Python里一个相同的特性。抽象基类由abc模块构成,包含了一个叫做ABCMeta的metaclass。这个metaclass由内置的isinstance()和 ...
分类:
编程语言 时间:
2018-09-18 17:16:36
阅读次数:
156
一、ModelForm 源码 ~~~ class ModelForm(BaseModelForm, metaclass=ModelFormMetaclass): pass def modelform_factory(model, form=ModelForm, fields=None, exclud ...
分类:
其他好文 时间:
2018-09-17 22:10:20
阅读次数:
236
0911--https://www.cnblogs.com/fnng/archive/2013/05/08/3066054.html 魔法方法、属性 准备工作 为了确保是新型类,应该把_metaclass = type加入到模块的最开始 在这两个类中NewType是新类,OldType是属于旧类,如 ...
分类:
编程语言 时间:
2018-09-12 17:09:01
阅读次数:
224
from abc import abstractmethod, ABCMeta # 抽象类是不能实例化的类 class Talker(metaclass=ABCMeta): @abstractmethod # 标记为抽象方法,子类必须实现这方法 def talk(self): pass class ... ...
分类:
其他好文 时间:
2018-09-12 01:19:55
阅读次数:
182
1 #元类 2 class myType(type): 3 def __init__(self, obj_name, base_tuple, attr_dict): 4 print(self, obj_name, base_tuple, attr_dict, sep='\n') 5 6 def __ ...
分类:
其他好文 时间:
2018-09-08 17:59:36
阅读次数:
165
它的作用主要是 指定由谁来创建类,默认是type 注意下面的代码中的运行结果,如果某个基类执行谁来创建,那么继承这个基类的派生类也由这个谁来创建 应该见过这样创建类的吧,通过type创建Base = type('Base', (object,), {}) 所以我们通过继承type的自定义type类也 ...
分类:
Web程序 时间:
2018-09-07 00:58:27
阅读次数:
264
基于人为来约束: 即人为主动抛出异常 class BaseMessage(object): def send(self,x1): """ 必须继承BaseMessage,然后其中必须编写send方法。用于完成具体业务逻辑。 """ raise NotImplementedError(".send() ...
分类:
编程语言 时间:
2018-09-02 00:08:24
阅读次数:
188
什么是元类:# 源自一句话:在python中,一切皆对象,而对象都是由类实例化得到的。# 内置的元类是type。# # 1. 调用元类 >自定义的类# 2. 调用自定义的类 >自定义的对象 自定义类:# class关键字创建自定义类的底层的工作原理,分为四步 例如:class OldboyTeach ...
分类:
其他好文 时间:
2018-08-28 01:01:05
阅读次数:
173
指定类C的元类是MyType 类对象由类创建,类自身也是一个对象,是由type类创建 ...
分类:
Web程序 时间:
2018-08-23 13:13:31
阅读次数:
274
理解instance、class object、metaclass 面向对象编程中,最重要的概念就是类,下面我们就从代码入手,看看OC是如何实现类的。 instance对象实例 我们经常使用id来声明一个对象,那id的本质又是什么呢?打开#import<objc/objc.h>文件,可以发现以下几行 ...
分类:
其他好文 时间:
2018-08-22 16:48:49
阅读次数:
181