def Func():
pass
在IPython会话中,当我输入type(Func)时,输出为“function”。由于Python是一种面向对象的语言,我假设有一类“Func”是一个实例。所以我尝试用这种方式创建自己的类:
class MyFunc(function):
pass
唉,解释器只是抛出一个“NameError”抱怨“函数”没有定义。
所以,我试着做一点聪明并做到了这一点:
class myfunc(func.__class__):
pass
唉,它失败了......
TypeError: Error when calling the metaclass bases
type 'function' is not an acceptable base type
总之,任何人都可以解释: 1)。如何创建一个派生自“函数”类型的类。如果不可能,为什么? 2)。错误信息的真正含义。
答案 0 :(得分:0)
总之,任何人都可以解释:1)。如何创建一个派生自类型"函数"。
的类
你不能。
如果不可能,为什么? 2)。错误信息的真正含义。
该错误消息意味着Python不允许类使用函数类型作为基类。用C实现的类只有在设置了特定标志时才能扩展;如果他们不这样做,这是你试图扩展它们时得到的错误。