VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Python基础教程 >
  • python基础教程之python基础(27):类成员的修饰符、类的特殊成员(4)

本站最新发布   Python从入门到精通|Python基础教程
试听地址  
https://www.xin3721.com/eschool/pythonxin3721/


type第一个参数:类名
  • #type第二个参数:当前类的基类
  • #type第三个参数:类的成员
  •  类是由 type 类实例化产生

     那么问题来了,类默认是由 type 类实例化产生,type类中如何实现的创建类?类又是如何创建对象?

    答:类中有一个属性 __metaclass__,其用来表示该类由 谁 来实例化创建,所以,我们可以为 __metaclass__ 设置一个type类的派生类,从而查看 类 创建的过程。

     

    
    
    1. class MyType(type):
    2.  
    3. def __init__(self, what, bases=None, dict=None):
    4. super(MyType, self).__init__(what, bases, dict)
    5.  
    6. def __call__(self, *args, **kwargs):
    7. obj = self.__new__(self, *args, **kwargs)
    8.  
    9. self.__init__(obj)
    10.  
    11. class Foo(object):
    12.  
    13. __metaclass__ = MyType
    14.  
    15. def __init__(self, name):
    16. self.name = name
    17.  
    18. def __new__(cls, *args, **kwargs):
    19. return object.__new__(cls, *args, **kwargs)
    20.  
    21. # 第一阶段:解释器从上到下执行代码创建Foo类
    22. # 第二阶段:通过Foo类创建obj对象
    23. obj = Foo()

    相关教程
            
    关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号