[pyar] Detectando llamadas con cantidad incorrectas de argumentos

Juan Ignacio euribates en gmail.com
Jue Mar 5 10:24:11 ART 2015


Podrías hacer el chequeo antes de realizar la llamada usando
el atributo func_code:

    >>> def f(a, b, *args, **kwargs):
    ...     pass

    >>> import inspect
    >>> f.func_code.co_argcount
    2
    >>> f.func_code.co_varnames
    ('a', 'b', 'args', 'kwargs')

En el módulo inspect[1] tienes más información.

[1] https://docs.python.org/2/library/inspect.html

2015-02-27 21:13 GMT+00:00 Facundo Batista <facundobatista en gmail.com>:

> 2015-02-27 17:52 GMT-03:00 Daniel Moisset <dmoisset en machinalis.com>:
>
> > if <f, args, kwargs no matchean en argumentos>:
> >     loguear(informacion_relevante)
> > else:
> >     f(*args, **kwargs)
> >
> > Se les ocurre alguna forma de lograr eso?
>
> ¿Tenés "con lo que estarías llamando a la función"? Con eso y con lo
> "que la función recibe" podés comparar y decidir.
>
> "Lo que la función recibe" lo sacás así:
>
> >>> def f(a, b, *args, c=3, **kwargs):
> ...   pass
> ...
> >>> import inspect
> >>> inspect.getfullargspec(f)
> FullArgSpec(args=['a', 'b'], varargs='args', varkw='kwargs',
> defaults=None, kwonlyargs=['c'], kwonlydefaults={'c': 3},
> annotations={})
>
> Slds.
>
> --
> .    Facundo
>
> Blog: http://www.taniquetil.com.ar/plog/
> PyAr: http://www.python.org/ar/
> Twitter: @facundobatista
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
Juan Ignacio Rodríguez de León
Móvil: 605 890514
E-Mail: euribates en gmail.com
http://www.elornitorrincoenma <http://www.elornitorrincoenmascarado.com/>
scarado.com/ <http://www.elornitorrincoenmascarado.com/>
http://descon2.com/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150305/ebe044bd/attachment-0001.html>


More information about the pyar mailing list