Apuntes de Python 3 (2ª Parte)

python3Ya tenemos aquí el segundo post de apuntes de Python 3, que sigue al primero que publiqué hace ya unos meses. Pincha en el siguiente link si te lo perdiste:

Apuntes de Python3 (1ª Parte)

1. Funciones (continuación)

Argumentos de la función (continuación)

Podemos setear un valor por defecto de uno o más argumentos de la función, de tal manera que si al llamar a la función no le pasamos dichos argumentos, éstos tomarán el valor por defecto. Podemos pasarle como valor por defecto, una variable, pero mucho cuidado pues el valor por defecto se seteará en el momento de la definición, con lo que si modificas la variable después de la definición de la función, no variará el valor por defecto del argumento.

>>> def myfunc(a,b=33,c='hello'):
>>>   print(a,b,c)
>>>
>>> myfunc(1,2)
1 2 hello

Respecto a los argumentos al llamar a una función, deberíamos usar «keyword arguments» (aka «kwargs») en lugar de argumentos posicionales. Es más largo pero es mucho más claro.

def myfunc(a,b,c):
   pass

myfunc(1,2,3)            #argumentos posicionales
myfunc(a=1,b=2,c=3)      #kwargs

Podemos usar un único argumento al definir la función para capturar cualquier número de argumentos posicionales (un asterísco) o kwargs (dos asteríscos) que se le pasen a la función.

def myfunc(*myargs):     #myargs será una tupla con todos los argumentos posicionales
def myfunc(**mykwargs):  #mykwargs será un diccionario con todos los kwargs

Continuar leyendo «Apuntes de Python 3 (2ª Parte)»

Apuntes de Python 3 (1ª Parte)

python3
Bueno, este artículo contiene una serie de apuntes que me han parecido interesantes, referentes a un curso sobre Python 3. Así pues, no es ni mucho menos, un curso de Python 3, pero con suerte le será de utilidad a alguien (además de a mí mismo). De momento, aquí el primer post que he creado mientras he ido avanzando en el curso.

1. Introducción

1.1. ¿Por qué Python?

  • Escritura eficiente: requiere escribir menos código que otros lenguajes
  • Lenguaje de alto nivel y propósito general
  • Funciona bajo cualquier sistema operativo
  • Popular y gratuito
  • Cercano al pseudo-código, enfatiza la legibilidad

1.2. ¿Qué es Python?

  • Soporta múltiple paradigmas de programación (orientación a objetos, funcional, etc.)
  • Type checking done at runtime
  • Gestión automática de la memoria / garbage collector
  • Modular (core pequeño, extensible con módulos)
  • El código python puede ser paquetizado en un único ejecutable listo para distribuir (ej. dropbox)
  • Open-Source
  • Uno de los objetivos más importantes de los «pythoneros» es que sea un lenguaje divertido de usar
  • Creado por Guido van Rossum (aka BDFL)

Continuar leyendo «Apuntes de Python 3 (1ª Parte)»