Curso Python para GUTL (VIII)

Hola, comunidad. Aquí estamos nuevamente retomando el curso de Python, esta vez con una introducción a los módulos….

¿Qué son? ¿Cómo usarlos?

Un módulo es un conjunto de funciones agrupadas, para un fin específico. De una forma más fácil, cada módulo es una «gaveta» que contiene «herramientas» para nuestro uso. En este post, usaremos un módulo para ampliar el script de este post. Pero no te preocupes, lo haremos desde cero, aunque sin explicar lo mismo. 🙂

Vamos a hacer un script que genere un número aleatorio, y que el usuario trate de adivinarlo, pero necesitaremos un número aleatorio, entre 1 y 10… ¿Cómo podemos hacer esto? No te preocupes, Python viene con una «gaveta» (módulo) llamada random que tiene una «herramienta» (función) llamada randint que hace este trabajo por nosotros. Voy a dar por sentado que sabes que no puedes llamar una función sin haberla declarado, pues no podemos usar un módulo sin haberlo llamado; entonces para evitar confusiones, es lo primero que haremos en nuestro script.

import random

Con esta simple línea, ya tenemos abierta la «gaveta» random y podemos usar todas sus «herramientas» en cualquier lado de nuestro script. Pero, ¿cómo sé que es randint? ¿Cómo sé para qué sirve ese módulo? Pues le preguntamos a Python:

help(random)

y veremos qué hace este módulo, con una breve explicación. Incluso veremos las funciones dentro del módulo con una descripción. Pero si solo queremos ver «en crudo» las funciones dentro del módulo, usamos

dir(random)

y veremos, separados por coma, la lista de todas las funciones que tiene random.

Bien, basta ya de muela, y manos a la obra… Si viste la ayuda, la sintaxis del randint es algo como randint(self, a, b)Return random integer in range [a, b], including both end points. Traduciendo, le damos dos números, a y b, y nos regresa (return) un valor entero aleatorio entre a y b (este número toma los extremos, por lo que puede ser a o b).

import random

x = random.randint(1, 10)

Pero hay algo un poco raro aquí: random.randint. ¿Qué es eso? Bueno, cuando vamos a usar una función dentro de un módulo, debemos llamarla con nombre y apellido, es decir, de random, uso randint, esto se define con un punto «.», o sea, módulo.función (random.randint)

Sabido esto, pues queda:

import random
x = random.randint(1, 10)
print(“hola, puedes adivinar el numero? del 1 al 10!!!”)
y = 0
while y != x:
    y = int(input(“adivina el numero: “))
    if y == x:
        print(‘perfecto, ganaste!!!!’)
        break
    elif y > x:
        print(‘no, ese es muy alto!!!’)
    elif y < x:
        print(‘nop, ese es muy bajo!!!’)
print(‘game over!!!’)

 

Bueno, bien sencillo. Esta es una introducción a los módulos de Python. Más adelante, pues iremos viendo cómo usar los módulos de manera mucho más sencilla, así como otros que son indispensables para cualquier app.

¿Te resultó interesante? Compártelo ...



danielqba

Publicado por danielqba

Forma parte de GUTL desde el 7 agosto, 2013. si Linux te da la espalda, tócale el kernel

Este artículo tiene 8 comentarios

    • por el momento vamos a asumir que la mayoria usa una instalacion estandard de python, y que no tienen acceso a instalar mas que eso… mi intencion es mantenerlo simple, sin pedir que instalen algo extra hasta que sea imprescindible

  1. Amigos , me encuentro hoy en una encrucijada. Ya a python los conozco hasta el cansancio y he programado varia aplicaciones en dicho lenguaje de la mano de PyQt, pero mi problema hoy es poder desarrollar para cualquier SO incluidos los moviles y Java es quien mejor brinda ese tipo de multiplataforma , pero es que python y su lenguaje me tiene enamorado. Que me pueden aconsejar

Los comentarios están cerrados.