- 博客(6)
- 收藏
- 关注
原创 Python的__new__()方法的使用场景
Python的__new__()方法是Python用来创建类实例的静态方法。它的原理详见我的另一篇文章《详解Python的__new__()方法》一般情况下需要使用__new__()方法的场景并不多,以下举几个可以使用__new__()方法的用例:自定义原类(MetaClass)关于MetaClass的原理和作用参见我的另一篇文章《详解Python MetaClass》。这里只通过一个简单的MetaClass来说明如何利用__new__()方法来自定义MetaClass。实例1:通过__new__(
2021-06-18 14:18:06
632
原创 详解Python的__new__()方法
当Python实例化一个对象时,首先调用__new__()方法构造一个类的实例,并为其分配对应类型的内存空间,该实例的内存地址就是它的唯一标识符。然后再调用__init__()方法对实例进行初始化,通常是对该实例的属性进行初始化。
2021-06-17 20:36:01
12086
9
原创 Python的__call__()方法的使用场景
关于Python的__call__()方法的原理我的另一篇文章《详解Python的__call__()方法》。本文主要介绍__call__()方法的使用场景。做验证我们开发时经常会需要对一些输入或字符串做验证,比如RegexValidator等。以下例子是一个用__call__()方法实现的非常简单的验证器:如果字符串大于3位返回True,否则返回False。class Validator(object): def __call__(self, value): # put validate
2021-06-16 20:29:37
641
原创 详解Python的__call__()方法
__call__()方法是Python中一个很特殊的方法。凡是可调用对象,都可以通过调用__call__()方法来调用该对象。如果类中定义了__call__()方法,那么该类的实例对象也将成为可调用对象。该对象被调用时,将执行__call__()方法中的代码。
2021-06-15 20:50:24
13077
13
原创 详解Python MetaClass
这里写自定义目录标题详解Python MetaClass什么是MetaClassType类用type实例化类动态创建类原类的使用和继承原类的使用场景实现ORM验证类避免继承属性单例总结参考详解Python MetaClass什么是MetaClass原类(MetaClass)是Python中一种特殊的类。特殊之处在于它并不像普通类那样用来创建实例对象(instance),而是用来创建类(class)的。也就是说,原类是用来实例化类的。下图表明原类,类和实例对象之间的关系:下面我们用一个最简单的例子来
2021-06-10 20:49:47
700
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人