E 'un po' difficile da capire questo comportamento:In python, la funzione è un oggetto?
def a():
pass
type(a)
>> function
Se type
di a
è function
, qual è type
di function
?
type(function)
>> NameError: name 'function' is not defined
E perché fa type
di type
da a
è type
?
type(type(a))
>> type
ultimo: se a
è un object
, perché non posso farlo:
isinstance(a, object)
>> True
class x(a):
pass
TypeError: Error when calling the metaclass bases
function() argument 1 must be code, not str
Grazie!
Tutti sembrano corretti. Cosa ti aspetti che 'type (function)' torni? – CoryKramer
possibile duplicato di [Quali sono gli oggetti di "prima classe"?] (Http://stackoverflow.com/questions/245192/what-are-first-class-objects) –
possibile duplicato di [Cos'è un metaclasse in Python?] (http://stackoverflow.com/questions/100003/what-is-a-metaclass-in-python) – davidism