Python: Funciones

#!/usr/bin/python 

# Funciones
# Una funcion es un fragmento de codigo con un nombre asociado
# que realiza una serie de tareas y devuelve un valor.
# 
# Un procedimiento es similar a la funcion, pero no devuelve valor.
# 
# En Python no existen los procedimientos, ya que cuando no se especifica
# un valor de retorno, se devuelve None
# 
# def function_name(params):
#	"""docstring"""
#	...
# 
# Para mostrar la ayuda de la funcion, el docstring, usa
# help(function_name)
# 
# Para salir usa q
# 


def mi_funcion(param1, param2):
	"""imprime dos valores"""
	print param1
	print param2


# Mostrar ayuda
help(mi_funcion)

# Llamada a la funcion
# 1
# 2
print "llamada a la funcion"
mi_funcion(1,2)

# Para no cerrar el interprete al terminar el programa, usa
#	python -i script.py
# 
#
# Valores por defecto
# Cuando se manda llamar una funcion se debe pasar el numero 
# de parametros de acuerdo a la declaracion de la funcion, sino se mostrara
# un error. Por ejemplo, al pasar solo un parametro, se mostrara
# TypeError: mi_funcion() takes exactly 2 arguments (1 given)
#
# Se puede evitar eso colocando valores por defecto en los parametros
def otra_funcion(param1 = "param1", param2 = "param2"):
	print param1
	print param2

# Llama a la funcion con solo un parametro
# un parametro
# param2
print "parametros por defecto"
otra_funcion("un parametro")


# Cambio de orden
# Es posible cambiar el orden de los valores en los parametros
# indicando el nombre del parametro al momento de llamar a la funcion
# 
# param 2
# param 1
print "cambio de orden"
otra_funcion(param2 = "param 1", param1 = "param 2")


# Multiples parametros
# Se pueden pasar un numero variable de argumentos antecediendo un *
# al parametro en la definicion
# Se crea una tupla llamada parametros en la funcion indefinidos
def funcion_lista(*parametros):
	for item in parametros:
		print item

# Llamada a la funcion
# 1
# 2
# 3
# 4
print "lista de parametros"
funcion_lista(1,2,3,4)

# Tambien es posible usar ** antes de la definicion del parametro
# creando un diccionario. Al momento de llamar a la funcion se deben
# pasar los valores en pares, (key, value) para cada elemento del diccionario
# 
# Para mostrar los valores (y no las llaves) del diccionario se usa la el metodo items()
def funcion_diccionario(**params):
	for item in params.items():
		print item

# Llamada a la funcion
print "diccionario de parametros"
funcion_diccionario(param1 = "param 1", param2 = "param 2", param3 = "param 3")

Fuente
Python para todos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s