'''
上图为面向对象解析流程图
首先,Python中一切皆对象,obj是Foo类的对象,那Foo谁的对象呢?答案是type类的对象。
type类是由c语言编写的,每个类创建时,都要执行type的__init__方法。
普通类创建的时候,执行type的__init__方法,但是可以添加 metaclass=MyType 来改变,在创建类时,执行MyType的__init__方法。
为了不影响类的正常创建,MyType中也需要执行type的__init__方法。
对象obj在创建时,实际上是Foo.__new__()创建的。
'''