llamar una funcion con distintos metodos

Joan Ordinas jordinas en gmail.com
Mar Oct 4 20:25:13 CEST 2005


On 10/4/05, Ramon Crehuet <rcsqtc en iiqab.csic.es> wrote:
> Hola a todos,
> Tengo un funcion dentro de la cual tengo que llamar dos métodos de una
> objeto. Como puedo decirle que metodo tiene que usar al llamar la función?
>     Como vengo del fortran, una solucion seria:
> def func( data, metodo)
>       # definir objeto y tratar data...
>       if metodo==1:
>           obj.metodo1(data)
>       elif metodo==2:
>           obj.metodo2(data)
>
> func(x, 1)
> func(x, 2)
>
> Pero esto me parece muy poco pythónico... Como puedo decirle el nombre
> del método a usar cuando llamo la funcion de forma elegante?

 def func( data, metodo)
       # definir objeto y tratar data...
       apply(metodo, obj, data)

# 'metodo' ha de ser eso, un metodo, no un código (1, 2) !

JJOR




Más información sobre la lista de distribución Python-es