Profilo di coccosbrillo

Nome coccosbrillo
Indirizzo email n/a
Messaggi3
  • Re: funzioni dinamiche che utilizzano la parola chiave self
    Forum >> Principianti
    e' così in effetti...
    Inoltre ho avuto la scusa per imparare una volta per tutte il passaggio di parametri tramite * e ** ;)
  • Re: funzioni dinamiche che utilizzano la parola chiave self
    Forum >> Principianti
    Spettacolare, nella tua semplicità mi hai illuminato su un paio di cose che proprio fino a ora non avevo capito, grazie mille!
  • funzioni dinamiche che utilizzano la parola chiave self
    Forum >> Principianti
    Buongiorno a tutti, premesso che sono abbastanza un neofita di python, vi sottopongo il seguente quesito, chiedendovi sia perchè non funziona e anche qual è la strada più pythonica per ottenere quello che voglio fare.
    Se scrivo il seguente codice:

    class prova:
    	def __init__(self,a):
    		self.a = a
    		self.f = None
    	def impostaFunzione(self,f):
    		self.f = f
    	
    poi vorrei che a runtime io potessi assegnare delle funzioni che manipolino self.a

    Ma se la funzione che imposto è:

    def g(x):
    	return x + 1
    allora quando eseguo

    z = prova(5)
    z.impostaFunzione(g)
    z.f(8)
    Mi ritorna correttamente 9

    Io però vorrei poter assegnare una funzione tipo:

    def g(x):
    	return self.a + x
    ma se poi imposto

    z.impostaFunzione(g)
    z.f(8)
    ottengo il seguente errore:

    NameError: global name 'self' is not defined




    Come devo fare?

    Grazie a tutti