码迷,mamicode.com
首页 > 编程语言 > 详细

python 元编程

时间:2020-07-08 15:27:21      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:常见   必须   instance   对象   pytho   参数   nbsp   第一个   code   

用于构建实例的方法是__new__, 必须返回一个实例,返回的实例会作为__init__的第一个参数(self)

__init__方法其实是初始化方法,真正的构造方法是__new__

 

从__new__方法到__init__是最常见的方法,但是__new__方法也可以返回其他类的实例,此时,解释器不会调用__init__方法

# 构建对象的伪代码
def object_maker(the_class, some_arg):
    new_object = the_class.__new__(some_arg)
    if isinstance(new_object, the_class):
        the_class.__init__(new_object, some_arg)
    return new_object
# 下述两个语句的作用基本等效
x = Foo(bar)
x = object_maker(Foo, bar)

 

python 元编程

标签:常见   必须   instance   对象   pytho   参数   nbsp   第一个   code   

原文地址:https://www.cnblogs.com/buxizhizhoum/p/13266628.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!