Monta unha biblioteca por partes

(nota: para esta páxina temos utilizado información desta páxina de python.org)

Antes en Python :

  • métodos (funcións pre-definidas)
  • bucles while

 

As librerías (tamén chamadas bibliotecas ou módulos) son conxuntos de subprogramas que podemos utilizar noutros programas, normalmente utilizando algún dos seus métodos ( funcións dunha librería) . Unha das aprendizaxes básicas de Python é buscar módulos que faciliten o noso traballo (ver a páxina de PIP para saber como instalar bibliotecas externas).

Pero tamén pode ser útil crear as nosas propias bibliotecas, cos seus métodos que vaiamos utilizar varias veces. Vexamos un exemplo coa serie de Fibonacci:

Apunte lingüístico:

A palabra librería é unha incorrecta tradución do ingles library, pero o seu uso está tan extendido na bibliografía informática que convén tela presente. Nós utilizaremos biblioteca e algunha vez, por despiste, librería.

1. Crear un método

Crear un método significa empezar por crear unha función que, neste exemplo, vai imprimir a serie de Fibonacci ata o termo n (sendo un n un número enteiro, un parámetro da nosa función, que teremos que dar posteriormente):

Crear unha función
def fib(n):    # escribe a serie Fibonacci ata n
    a, b = 0, 1
    while b < n:
        print(b, end=' ')
        a, b = b, a+b #modificamos os valores de a e b
    print()
Gardar co nome fibo.py

Se despois de gardar a función co nome fibo.py  executamos este código non vemos nada por que non chamamos á función fib nin lle demos valor ao parámetro n. Este ficheiro que acabamos de crear podería ter máis dunha función e será a nosa biblioteca ou módulo.

 

2. Importar o módulo noutro programa

No mesmo cartafol onde gardamos o módulo fibo.py que acabamos de crear imos  almacenar un novo programa (chamámoslle, por exemplo: serie fibonacci.py). Para poder empregar as funcións que deseñamos na nosa biblioteca teremos que escribir o seguinte:

Importar biblioteca

import fibo

fibo.fib(1000) #con isto estamos a darlle un valor a n, chamando ao método fib() que está definido dentro do módulo fibo.py

Chamar ao método fib
fibo.fib(1000) #para chamalo hai que darlle un valor a n (neste caso 1000)

A saída do programa terá que ser (serie de Fibonacci con valores inferiores a 1000):

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

    MOI IMPORTANTE:

    Non podemos chamar ao método fib sen ter importado primeiro a biblioteca

    Se vas a utilizar moito esa función podes compactala para que sexa máis doado de empregar: 

    Compactar o método

    import fibo

    fib= fibo.fib

    Empregar o método compactado
    fib(1000)

     

    3. Incorporar máis métodos na nosa biblioteca

     

    Imos aumentar o noso módulo de Fibonacci con outro método (ou función) chamado fib2() que fai case que o mesmo, desta vez, en lugar de imprimir o resultado, almacena os valores nunha lista:

    Escribimos o novo método
    def fib2(n):   # devolve unha lista coa serie Fibonacci ata n
        resultado = []
        a, b = 0, 1
        while b < n:
            resultado.append(b) #engadimos os valores na lista
            a, b = b, a+b #modificamos os valores de a e b
        return resultado
    Incorporamos o método á nosa biblioteca

     

    Agora o noso módulo fibo.py agora ten 2 métodos distintos, fib() e fib2()

     

    4. Empregar os métodos gardados

    Volvemos ao noso programa serie fibonacci.py (lembra, ten que estar gardado no memos cartafol que fibo.py) e agora podemos importar o módulo que ten dúas funcións  (chamadas métodos por pertencer a unha biblioteca)  que podemos invocar. Por exemplo, o noso programa sería:

     

    LEMBRA:

    Nos dous  casos para chamar ao método usamos a sintaxe:

    nome_do_módulo.nome_do_método(nome_da_variable)

     

     

    Exercicios:

    1. Queremos construír un módulo que permita saudar a unha persoa e lle diga que hora é. Para iso podes consultar nestas páxinas: Páxina 1 para obter data e Páxina 2 para obter data . O teu módulo será un ficheiro, por exemplo saudoehora.py, que teremos que importar. Cando invoquemos os seus métodos saudo() e hora(), dirá algo similar a 'Ola nome_indicado, hoxe é data_actual e son as hora_actual'.
    2. Constrúe unha biblioteca que teña incorparado varios debuxos que empregarás despois como premio. Esta biblioteca terá que chamar a outra biblioteca (a turtle). Busca en internet os debuxos para Python xa feitos e incorpóraos como métodos cun parámetro relativo ao seu tamaño.