1)
Sotto il codice Python,
>>> def f():
return
crea un oggetto di tipo function
che ha attributo __name__
con valore 'f'
che sembra corretto.
Ma,
2)
Sotto la riga di codice,
>>> x = 1024
crea int
type object ma non ha attributo __name__
.
3)
% espressioni dilambda
in python inoltre non associa alcun nome univoco per un oggetto di tipo function
.
>>> square = lambda x: x * x
>>> square.__name__
'<lambda>'
>>> summation = lambda x: x + 2
>>> summation.__name__
'<lambda>'
>>>
Per ogni programma scritto usando il paradigma funzionale, è considerato un ambiente con collegamenti nome-oggetto in quell'ambiente.
Quindi, essendo un principiante di programmazione del paradigma funzionale, come faccio a capire il significato dell'attributo __name__
? Perché vedo una tale incoerenza nel secondo e nel terzo caso sopra nel non mantenere l'attributo __name__
di un oggetto?