1.Python 中一切事物都是对象
2.类都是 type 类的对象
类的两种申明方法
# 方法一:
class Foo:
def func(self):
print(666)
obj = Foo()
obj.func()
# 方法二:
def function(self):
print(777)
Foo = type('Foo', (object,), {'func': function})
#type第一个参数:类名
#type第二个参数:当前类的基类
#type第三个参数:类的成员
obj = Foo()
obj.func()
运行结果:
666
777
class MyType(type):
def __init__(self, *args, **kwargs):
print(666)
def __call__(self, *args, **kwargs):
print(777)
class Foo(object,metaclass=MyType):
def func(self):
print('hello klvchen')
obj = Foo()
运行结果:
666
777
class MyType(type):
def __init__(self, *args, **kwargs):
print(666)
def __call__(self, *args, **kwargs):
r = self.__new__(self)
class Foo(object,metaclass=MyType):
def __init__(self):
pass
def __new__(cls, *args, **kwargs):
return '对象'
def func(self):
print('hello klvchen')
obj = Foo()
运行结果:
666