voglio passare metodo di classe, come e un argomento di default ad un altro metodo di classe, in modo che possa riutilizzare il metodo come un @classmethod
:Posso passare metodo di classe, come e un argomento di default ad un altro metodo di classe
@classmethod
class foo:
def func1(self,x):
do somthing;
def func2(self, aFunc = self.func1):
# make some a call to afunc
afunc(4)
Questo è il motivo per cui il metodo func2
viene chiamato all'interno della classe aFunc
per default su self.func1
, ma posso chiamare questa stessa funzione dall'esterno della classe e passarla ad una funzione diversa all'ingresso.
ottengo:
NameError: name 'self' is not defined
Qui è la mia messa a punto:
class transmissionLine:
def electricalLength(self, l=l0, f=f0, gamma=self.propagationConstant, deg=False):
ma voglio essere in grado di chiamare electricalLength
con una funzione diversa per la gamma, come:
transmissionLine().electricalLength (l, f, gamma=otherFunc)
Vedi http://stackoverflow.com/questions/3083692/using-class-static-methods-as-default-parameter-values-within-methods-of-the-same per una grande soluzione in un situazione alquanto simile. – max