zoukankan      html  css  js  c++  java
  • __new__这个内置函数


    class MyType(type):
    def __init__(self,what,bases = None,dict = None):
    print("--MyType-- init--")
    super(MyType, self).__init__(what,bases,dict)
    def __call__(self, *args, **kwargs):
    print("--MyType-- call--")
    obj = self.__new__(self,*args, **kwargs)
    self.__init__(obj,*args, **kwargs)



    class Foo(object):
    __metaclass__ = MyType ###关联父类,父类必须在前面
    def __init__(self,name):
    self.name = name
    print("Foo___init__")
    def __new__(cls, *args, **kwargs):
    print("Foo__new__")
    ##如果要继承父级方法的话就加上return 如果不加上就不会在走__init__这个函数实例化
    return object.__new__(cls)##继承父亲的__new__方法
    ##如果一个类中有__new__这个内置函数的话,那么这个类就通过__new__这个函数来实例化


    Foo("Cai")
    以上内容作为课堂笔记,如有雷同,请联系于我
  • 相关阅读:
    vue子组件获取父组件方法
    css hack
    【Educational Codeforces Round 87 (Rated for Div. 2)】前4题
    【某次ks】20200512
    NoI Online 2反思
    RMQ&LCA
    杂谈
    高手训练矩乘T3
    0118ACM自闭赛
    网络流初步学习笔记
  • 原文地址:https://www.cnblogs.com/ArtisticMonk/p/8984834.html
Copyright © 2011-2022 走看看