gpt4 book ai didi

python,函数是一个对象吗?

转载 作者:太空狗 更新时间:2023-10-30 00:50:06 31 4
gpt4 key购买 nike

鉴于以下行为:

    def a():
pass


type(a)
>> function

如果a的类型是function,那么functiontype是什么?

    type(function)
>> NameError: name 'function' is not defined

为什么 a 中的 typetypetype

    type(type(a))
>> type

最后:如果a是一个对象,为什么不能被继承?

    isinstance(a, object)
>> True

class x(a):
pass
TypeError: Error when calling the metaclass bases
function() argument 1 must be code, not str

最佳答案

任何函数的类型都是<type 'function'> .函数类型的类型是<type 'type'> ,就像你用 type(type(a)) 得到的一样.原因type(function)不起作用是因为type(function)正在尝试获取名为 function 的未声明变量的类型,而不是实际函数的类型(即 function 不是关键字)。

您在类定义期间收到元类错误,因为 a类型为 function还有你can't subclass functions in Python .

很多有用的信息 in the docs .

关于python,函数是一个对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24707237/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com