# -*- coding:utf-8 -*-
#!/usr/bin/python
class a(type):
def __new__(cls, name, att, att2):
return type.__new__(cls, name, att, att2)
def b(cls):
print 222;
class b(object): # 元类生成类
__metaclass__ = a
# 类方法
class c(object):
@classmethod
def b(cls):
print 2
# 对象方法
class d(object):
def b(self):
print 2
# 静态方法
class f(object):
@staticmethod
def b():
print 2
b.b() #正常
# m = b()
# m.b() #报错
# ------------------分析-----------------
# 对象方法
c.b() #正常
n = c()
c.b()
# 类方法
# d.b() #报错
n = d()
n.b() #正常
# 静态方法
f.b() #报错
n = f()
n.b() #正常
我想知道通过元类生成的方法是什么方法,与这三个都不一样
#!/usr/bin/python
class a(type):
def __new__(cls, name, att, att2):
return type.__new__(cls, name, att, att2)
def b(cls):
print 222;
class b(object): # 元类生成类
__metaclass__ = a
# 类方法
class c(object):
@classmethod
def b(cls):
print 2
# 对象方法
class d(object):
def b(self):
print 2
# 静态方法
class f(object):
@staticmethod
def b():
print 2
b.b() #正常
# m = b()
# m.b() #报错
# ------------------分析-----------------
# 对象方法
c.b() #正常
n = c()
c.b()
# 类方法
# d.b() #报错
n = d()
n.b() #正常
# 静态方法
f.b() #报错
n = f()
n.b() #正常
我想知道通过元类生成的方法是什么方法,与这三个都不一样
