inicio mail me! sindicaci;ón

Python: argumentos identificados en una función

Observemos el siguiente código:

# -*- coding: UTF-8 -*-

def foo(bar=False):
        return ‘"bar" vale "%s"’%(bar)

if __name__==‘__main__’:
        print (‘Cuando no se especifica el argumento, toma el valor por defecto:\n\tfoo() retorna ‘+foo())
        print (‘Cuando sí se especifica el argumento, toma el valor especificado:\n\tfoo(bar=\’baz\’) retorna ‘+foo(bar=‘baz’))

La función foo está definida de manera que recibe un parámetro llamado bar. Tal y como está especificada, si al llamarla no se le pasa ese parámetro, bar tomará el valor por defecto False. Por ejemplo, con la llamada foo(), sin más, bar pasa a ser False, con lo que la función retorna “bar” vale “False”.

Si sí se le pasa ese argumento, la función simplemente usa el valor proporcionado:

>>> import wx_formas
>>> wx_formas.foo(3)
‘"bar" is "3"’
>>> wx_formas.foo(None)
‘"bar" is "None"’
>>> wx_formas.foo([1,2,3])
‘"bar" is "[1, 2, 3]"’
>>>

La ejecución del código original da el siguiente resultado:

Cuando no se especifica el argumento, toma el valor por defecto:
        foo() retorna "bar" vale "False"
Cuando sí se especifica el argumento, toma el valor especificado:
        foo(bar=‘baz’) retorna "bar" vale "baz"

También se le puede pasar un número variable de argumentos a una función, bien con def foo(*tupla_de_argumentos), o bien con def foo(**diccionario_de_argumentos).

En el libro Learning Python, de Mark Lutz, hay más información acerca de esto (capítulo 16, pág. 331 en la tercera edición, de octubre de 2007 en inglés).

Por darle un poco más de chicha al artículo, diré que acabo de encontrar la Py Zine, revista dedicada enteramente a Python.

Stacktrace: aperiodico di resistenza italiana

Stacktrace es una revista italiana de informática, escrita desde la perspectiva más práctica y aplicada.

Hasta donde he visto es completamente gratuita y sólo se distribuye por Internet, de hecho el número de artículos es variable según el mes así que claramente no es una publicación formal.

Los artículos son muy variados y cubren muchas áreas de la informática, aunque no todas. Los temas que se tratan dejan el nivel de la revista en buen lugar –para mi gusto–, y más o menos se pueden entender bien los artículos a pesar de no saber italiano.

Toca bastante el Python, y la programación funcional más de lo que se suele ver en otras publicaciones.

No sólo contiene artículos estáticos, sino que cubre también algo de actualidad, comentando sucesos que se van dando en la industria y el mundo de la informática.

Y además del propio contenido técnico de la revista, creo que también sirve para tomarle el pulso a la scene italiana (de informática en general, grupos de usuarios, etc.).

En alguna conversación con algún erasmus italiano que ha ido a clase conmigo este año he podido comprobar que tienen un buen respaldo a nivel social, con gran número de eventos (Linux Day, Italian Agile Day, etc.) y bastante movimiento de base (que no sé si es mayor que el español, o simplemente diferente).