- Notifications
You must be signed in to change notification settings - Fork 0
11. Funciones
En esta sección valoraremos la creación de funciones. Estas solucionan el problema de escribir muchas veces, la misma porción de código, por ejemplo supongamos que se nos pide crear un archivo de utilidades de python que sea capaz de leer archivos, crear archivos a partir de una lista, retorna la palabra más larga de una lista y determinar el número más grande entre dos números. Una función inicia con la palabra def cuenta con un nombre el cual definimos nosotros, también cuenta con entradas las cuales podemos emplear dentro de ellas.
defread_a_file(file_name):
lineas= []
withopen(file_name,'r') asreader:
forlineinreader: lineas.append(line)
#al igual que una función podemos retornar una salida en este caso#la lista compuesta por las lineas del archivoreturnlineasdefcreate_a_file(entry_list,file_name):
withopen(file_name, 'w') aswriter:
forelementoinentry_list : writer.write(elemento+"\n")
deffind_the_longest(list_of_swords) :
mayor_=""forelementoinlist_of_swords :
iflen (elemento) >len(mayor_) : mayor_=elementoreturnmayor_deffind_the_biggest (numero_a, numero_b) :
answer="son iguales"preview_message="el numero mas grande es el {} con un valor de {}"ifnumero_a>numero_b : answer=preview_message.format ('a',numero_a)
elifnumero_b>numero_a : answer=preview_message.format ('b',numero_b)
returnanswerEn este archivo hacemos uso del anterior importandolo, cuando ponemos el término as es como ponerle un apodo de forma que no debemos copiar el nombre del archivo únicamente llamando a su alias. Para tener en claro este ejemplo es aconsejable mirar los archivos de la sesión 6.
importfunctions_defashelper#Constanteslist_of_estudents= ['mafer', 'nano', 'dan' , 'gi']
name_of_file_to_write='estudents_file.txt'file_to_read_name='archivo.txt'message_longest="el estudiante con nombre mas largo es {}"a=2b=3#para acceder a una función dentro del archivo únicamente debemos#llamar al alias . el nombre de la función#debemos ingresar las entradas que configuramos para cada una de ellasprint (helper.read_a_file(file_to_read_name))
helper.create_a_file (list_of_estudents,name_of_file_to_write)
print (message_longest.format (helper.find_the_longest(list_of_estudents)))
print (helper.find_the_biggest(a,b))la ventaja de emplear funciones es que si las requerimos en algún otro código únicamente necesitamos importarlas, esto ahorra líneas de código de forma evidente y esto hace más sostenible en el tiempo nuestros desarrollos
