Anuncios

Bienvenidos sean a este post, hoy veremos varios temas y nos adentraremos un poco mas en el lenguaje.

Anuncios

Podemos decir que tenemos dos formas para nuestros programas, modulos y paquetes, donde los modulos no son otra cosa que los archivos que guardamos con la extension .py (hola.py del post anterior) y los paquetes no son otra cosa que sub directorios dentro del directorio del programa es usado para contener modulos diferentes, es decir otros archivos .py.

Anuncios

Por ejemplo vamos a suponer que tenemos un programa X al cual llamaremos ejemplo y podemos organizarlo de la siguiente manera:

ejemplo
├── nucleo.py
├── juego.py
└── objetos
    ├── __init__.py
    ├── arbol.py
    ├── edificio.py
    └── pepe.py
Anuncios

Este es un simple ejemplo de como puede ser una estructura de nuestro programa, en la raiz de nuestro ejemplo vemos que existen dos modulos:

  • juego.py, sera el modulo encargado de ejecutar el programa
  • nucleo.py, sera un modulo que tendra todas las funciones nucleo de nuestro programa
Anuncios

Luego tenemos el paquete llamado objetos, el cual contendra tres archivos .py que representan a unos objetos dentro del programa que puede ser un juego o no y que no necesariamente deben estar en la raiz del programa, el unico archivo particular es __init__.py porque este es el encargado de decirle al lenguaje que este directorio en realidad es un paquete del programa y no necesita tener informacion dado que el nombre le indica esto al lenguaje, como pueden ver esta es una forma de trabajar con nuestro programas.

Anuncios
Nota: A partir de la version 3.3 ya no es necesario el archivo __init__.py
Anuncios

Tambien podemos utilizar todos los archivos en el raiz de nuestro programa como se ve a continuacion:

ejemplo/
├── arbol.py
├── edificio.py
├── nucleo.py
├── pepe.py
└── programa.py
Anuncios

Este programa tambien va a funcionar pero a medida que vayamos agregando todos estos archivos pueden quedar de una manera muy confusa dificultando nuestra depuracion ante eventuales errores, por esta razon siempre es recomendable usar paquetes para tener mejor organizado algunos aspectos de nuestro programa pero esto siempre quedara a criterio del programador.

Anuncios

Otra de las buenas practicas que siempre se usa tanto en programacion como en python es:

Nunca deberias repetir la misma pieza de codigo mas de una vez en tu aplicacion

El Tinchicus
Anuncios
Anuncios

Esto es debido a que si el codigo posee un error y debemos corregirlo, esto se debera hacer en todas las partes que repetimos el codigo pero como podemos evitar repetir un codigo? En este caso entran en accion las funciones pero este es otro tema que veremos mas adelante, y tenemos otro tema como son las librerias pero que es una libreria? Basicamente son archivos que contiene a las funciones y las funciones son una porcion de codigo que podemos repetir las veces que sea necesarias.

Anuncios

Para nuestro siguiente paso vamos a utilizar un paquete y una funcion, mucho mas adelante no solo veremos como crear y utilizar una funcion creada por nosotros pero hoy no sera el tema, una ventaja de python es que posee una buena cantidad de librerias preinstaladas, por eso a continuacion veremos como utilizar una libreria y de esta implemetar una funcion de la misma para nuestro uso, para ello abriremos nuestro interprete y ejecutaremos la siguiente funcion:

>>> factorial(5)
Anuncios

Si lo ejecutamos tendremos la siguiente salida:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'factorial' is not defined
>>>
Anuncios

Esto es debido a que no existe una funcion definida llamada factorial, para nosotros poder implementarla utilizaremos el siguiente comando:

>>> from math import factorial
Anuncios

El comando from indica desde cual libreria, en este caso math, debemos importar la funcion que necesitamos, en este caso factorial, si lo ejecutan y no devuelve ningun error (como vimos anteriormente) significa que se ejecuto correctamente, ahora podemos volver a ejecutar el primer comando y veremos este resultado:

>>> factorial(5)
120
>>>
Anuncios

Ahora si se pudo ejecutar el factoreo del valor 5, devolviendo el resultado, como pueden observar la implementacion de una funcion desde una libreria es bastante simple pero mas adelante veremos como se hace en un codigo y no por comando como vimos recientemente, por ahora nos quedamos con esta forma de trabajo.

Anuncios

En resumen, hoy hemos visto como puede ser las estructuras de nuestros programas, que es un modulo, que es un paquete, como podemos organizar los modulos dentro de nuestros paquetes, que es una funcion (de una forma muy basica), tambien que es un paquete (muy basicamente), vimos uno de los paquetes que existen de manera predeterminada con python (math), tambien vimos como se importa una funcion desde estas librerias y como podemos trabajar con ella, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.00