Django & Python Blog

Terminal Python

Hay situaciones en las que se nos hace imposible instalar el SDK Python en nuestros equipos como por ejemplo cuando usamos una Tablet o un Smartphone, o simplemente cuando deseamos practicar de una forma diferente a la tradicional. Para esto existen múltiples servicios en línea que nos permiten practicar nuestro lenguaje favorito sin instalarlo en nuestro sistema.

Estos son mis servicios de terminal en línea preferidos preferidos:

Python.org/shell
Terminal “oficial” de Python.org, la que incluye las próximas características:

Permite copiar y pegar los comandos en la consola de terminal.
Cuenta con una shell mejorada merced a que tiene IPython corriendo en el back-end.
Es superior a la terminal de Python por defecto.
Ofrece introspección de objetos.
Simple acceso a los comandos del sistema operativo y se integra con su editor de texto.
Dispone de un pequeño vídeo tutorial para facilitar su empleo.
REPL.it
A mi juicio es la mejor consola online de programación interactiva, puesto que aparte de ofrecer una interfaz muy intuitiva aguanta múltiples lenguajes de programación. Algunos de sus puntos fuertes son:

Para los principiantes ofrece múltiples ejemplos de código.
Permite compartir tu código tanto en redes sociales como en sitios webs.
Puede guardar los contenidos sesión activa y reanudarla en el momento en que te apetezca.
Su código fuente es libre, se encuentra en un repositorio de Github.
Es una aplicación web, por lo que sería prácticamente trabajar desde cualquier dispositivo con un navegador.
Trinket.io
Si REPL.IT es la mejor opción a nivel general, esta es la opción mejor para Python en particular. Veamos sus características:

Deja ejecutar y escribir código en cualquier navegador, en cualquier dispositivo.
Funciona al instante, sin precisar conectarse, descargar complementos, o instalar software.
Ofrece librerías como Numpy, Matplotlib, SciPy y más.
Del mismo modo que REPL.IT nos deja compartir fácilmente nuestro código, pero además de esto si lo incrustamos en algún sitio web deja editar el código desde ahí sin tener que salirte del sitio.
En este tutorial de Python, podréis ver lo bien que queda engastado la REPL de trinket. El artículo es algo así como una mezcla entre un tutorial y una cheatsheet, en el que se exponen los fundamentos para aprender python.

Si conoces alguna consola on-line de Python que valga la pena probar, háznoslo saber.

Aguardamos que te haya te ha gustado la entrada, si es así, comparte en tus redes sociales y comenta.

Compartir es vivir.

Tutorial de Python

Python es un lenguaje de programación interpretado, cuya filosofía hace hincapié en una sintaxis muy limpia y un código inteligible. Acá les presento una lista de razones para aprender Python.

Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis muy limpia y un código inteligible. Acá les presento una lista sobre las razones de aprender python.

Es buena opción alternativa para decantarse por este lenguaje en el planeta de la programación, pues es un lenguaje sencillísimo y simple.

Su sintaxis es simple de comprender pues es próxima al lenguaje natural, y los programas hechos en Python semejan pseudocódigos, lo que brinda una enorme ayuda en su mantenimiento.

Su código es más organizado eludiendo el empleo del signo de punto y coma al final de cada sentencia y asimismo evita el empleo de llaves para precisar que dicho bloque de código pertenece a una sentencia. Para ello Python emplea la indentación, la que esta representada por un bloque de cuatro espacios, teniendo de esta forma un código inteligible.

Aquí les dejo un magnifico recurso para aprender python

Aprende Django (3). Python Manage.py runserver

Lo que el día de hoy haremos es crear nuestro primer servidor en Django, te sorprenderá lo fácil que es.

NOTA: El ejemplo está desarrollado en Linux, mas si tienes Python instalado en Windows (Usando el tutorial precedente en este weblog) debería marchar precisamente igual.

VIRTUALENV:

Si bien no es preciso y bien puedes comenzar el proyecto sin precisar crear un ambiente virtual, esto es buena práctica puesto que apartas los bultos instalados en diferentes proyectos de Django.

Si tienes instalado python en tres.0 hacia adelante, ya tienes a tu predisposición el instalador de bultos de Python PIP. Es preciso instalarlo si no lo tienes, puesto que para instalar las librerías que vamos a usar a lo largo de nuestro proyecto.

Si no lo tienes instalado puedes ver de qué forma hacerlo acá. Lo único que debes hacer es descargar el fichero get-pip.py y correrlo desde la consola tal y como si fuera un programa normal

python get-pip.py

Tras tener el instalador de bultos instalado, solo debes correr la línea.

pip install virtualenv

Lo que instalará el mánager de entornos virtuales de Python, a fin de que cada uno de ellos de tus proyectos tenga instaladas las librerías que solo sean precisas y no más.

CREANDO EL PROYECTO:

Uno.- Creamos la carpetita donde vamos a comenzar nuestro proyecto con el nombre de “Chuirer” y entramos:

mkdir Chuirer
cd Chuirer

Dos.- En la carpetita creamos nuestro ambiente virtual y lo activamos:

virtualenv venv
source venv/bin/activate

Ya tenemos nuestro ambiente virtual listo para comenzar a crear nuestro proyecto.

Tres.- Instalamos el famosisimo Django en nuestro ambiente virtual con el próximo comando (instalará la versión más nueva del framework):

pip install django

Cuatro.- Instalado Django creamos nuestro proyecto con el próximo comando:

django-admin.py startproject Chuirer

!Listo! Nuestro proyecto ha sido creado. Ahora tratemos de correr el servidor.
Cinco.- Corremos el servidor con el comando:

python manage.py runserver

Aparecerá el próximo mensaje por el hecho de que no hemos hecho la “migración” para crear las tablas de la base de datos precisas a fin de que nuestro servidor funcione: Usuarios, Sessions, etc…

Seis.- Para hacer la migración corremos el próximo comando:

python manage.py migrate

Siete.- Volvemos a correr el proyecto y va a correr sin problema:

python manage.py runserver

NOTA: El proyecto va a correr por default en el localhost o bien mil doscientos setenta en el puerto ocho mil, mas puedes añadir la ip que desees asignarle a tu servidor, por ejemplo: python manage.py runserver 192.168.10.1:8000

¡Felicitaciones! Tienes tu primer servidor de Django marchando.

¡Nos vemos en el próximo artículo!

Aprende Django (2). Funciones y clases en python

El día de hoy vamos a comprobar el otro aspecto que debes conocer para aprender Django y son las funciones y clases en Python. El tema es de lo más fácil si conoces la Programación Orientada a Objetos en otro lenguaje como Java.

FUNCIONES:

Una función es un proceso o bien “subrutina” que se aparta de la demás lógica de un algoritmo así sea por el hecho de que se repite muy frecuentemente su proceso y se puede volver a usar, o bien por el hecho de que es preciso modularizar un programa (Un programador profesional busca la forma de organizar su código a fin de que otras personas extrañas lo puedan leer en cualquier instante).

En Python al declarar una función se emplea la palabra reservada def seguido el nombre de la función, entre paréntesis los factores de la función y también igual que las estructuras iterativas un “:”.

def come_tacos(tacos):
    for taco in tacos:
        print ('Yum! estuvo bueno el taco de ' + taco + '!')

Lo que hace esta función es percibir un arreglo de tacos como factor y lo recorre comiendonselos uno por uno.

Para expedir a llamar esta función solo se requiere poner su nombre y después entre paréntesis el arreglo de tacos en cuestión:

come_tacos(['suadoero', 'pastor', 'barbacoa'])

Es posible que sea el ejemplo más absurdo que puedas ver, mas recuerda que un buen programador escribe código a fin de que cualquiera lo pueda comprender, con lo que debes ser claro y organizado con el empleo de tus funciones, no hacerlas en el caso de que sea preciso.

Clases:

En Python es un lenguaje orientado a objetos, lo cuál quiere decir que el empleo de clases y objetos es uno de los aspectos más esenciales y para aprender Django es preciso.

Una clase es un molde o bien plantilla para la creación de objetos que no son más que representaciones de entidades del planeta real en un contexto informático. Con clase o bien molde me refiero a la definición de sus atributos y comportamiento y herencia.

El próximo ejemplo lo pude dejar más claro:

class Estudiante():
    boleta = ''
    nombre = ''
    prom_general = 0
 
    def estudiar(self):
        print('A estudiar!')
 
    def dormir(self):
        print('Zzzzzzzzzzzz')
 
    def __init__(self, boleta, nombre, prom_general)
        self.boleta = boleta
        self.nombre = nombre
        self.prom_general = prom_general

En un caso así reflejamos la clase Estudiante, que tiene sus atributos definidos y las funciones que definen su comportamiento válido.

La función “__init__” lleva por nombre constructor y define los datos por default en el momento de crear una nueva instancia de la clase o bien mejor dicho crear un nuevo estudiante.

Para crear al nuevo estudiante solo debemos hacer lo siguiente:

estudiante = Estudiante('123456'. 'Christian Consuelo', 8.0)
 
estudiante.estudiar() //Imprime 'A estudiar!'
estudiante.dormir() //Imprime 'Zzzzzzz'

Lo que hicimos fue crear un nuevo estudiante que ahora tienen los atributos como se definió al llamar al constructor, después podemos llamar a los métodos definidos de nuestra clase.

Espero que quede suficientemente claro, por el hecho de que ahora lo que veremos es el funcionamiento de la Herencia de clases.

Cuando definimos una clase, asimismo puede haber una entidad superior que defina su comportamiento y atributos de forma más general. Por poner un ejemplo cuando definimos la clase Estudiante en el ejemplo pasado, un Estudiante es una parte de un conjunto más grande llamado Personas.

Veremos el ejemplo más sencillo:

class Persona():
    edad = 0
    sexo = ''
 
    def vivir():
        print('Estoy vivo!')
 
class Estudiante(Persona):
    boleta = ''
    nombre = ''
    prom_general = 0
 
    def estudiar(self):
        print('A estudiar!')
 
    def dormir(self):
        print('Zzzzzzzzzzzz')
 
    def __init__(self, boleta, nombre, prom_general)
        self.boleta = boleta
        self.nombre = nombre
        self.prom_general = prom_general

Lo que hicimos es un caso afín mas ahora la clase Estudiante hereda los atributos y funciones de la clase Persona, llamandolos en cualquier instante cuando sea preciso.

Esto es lo básico que has de saber de Python para aprender Django. Voy a continuar haciendo artículo de Python mas en esta serie no.

Aprende Django (1) – Introducción a python

Vamos a empezar con los conocimientos anteriores para comenzar a ver estos posts y vas a ver que cualquiera puede crear aplicaciones verdaderamente avanzadas solo sabiendo lo básico de programación.

Como el Framework Django marcha con Python, puesto que veremos lo que precisamos conocer para empezar:

VARIABLES:

Python es un lenguaje en el que las variables se definen de forma DINÁMICA, lo que desea decir que su valor y tipo puede ir mudando en el tiempo de ejecución de programa, si bien no quiere decir que sea una buena práctica estar mudando el género de dato de nuestras variables a lo largo del proceso.

numero = 1 //Numeros enteros tanto cortos como largos y flotantes
 
cadena = 'Hola Mundo' //Arreglo de caracteres y es igual si usas "" o ''
 
lista = [1, 2, 3, 4] //Puedes agregar, eliminar, buscar, etc elementos, ideales a la hora de operar como vectores o matrices
 
tupla = (1,2,3,) //Similares a las listas pero no se pueden editar los elementos que están dentro de ellas
 
diccionario = {'llave': 'Valor'} //Arreglos llave/valor similares al funcionamientos de los diccionarios en la vida real.
 
booleano = True //True o False

Claro que puedes conjuntar los modelos de datos como una lista de diccionarios, un diccionario de tuplas, etc… Las posibilidades son infinitas, ÚSALAS.

Cada género de dato tiene sus métodos y para consultarlos recuerda que la documentación es tu mejor amiga.

CONTROLES DE FLUJO Y ESTRUCTURAS ITERATIVAS:

Para mantener el control de lo que pasa en nuestro programa es preciso señalarle a la computadora qué comportamiento tener en diferentes caso, para eso empleamos los controles de flujo y estructuras iterativas.

IF, ELIF, ELSE:

Toma una sublevación puntual hace un procedimiento si la condición se cumple, “elif” ponte otra alternativa que podría asimismo cumplirse y su contraparte “else” que señala qué hacer si la condición se cumple.

NOTA: En las estructuras de flujo, iterativas como en las funciones y definición de clases en PYTHON, no se utiliza más “undefined”. Para definir el alcance de estas se emplea un tabulador que puede ser de dos, cuatro espacios en dependencia del editor y su configuración.

if (tacos_gratis == True ):
    print "FELICIDAD PARA TODOS! =D"
elif (pizza_gratis == True):
    print "Algo es algo! =3"
else:
    print "La vida apesta..."

WHILE, FOR:

While y For son 2 estructuras iterativas que sirven para reiterar un proceso en tantas ocasiones como sean precisas, ¿Y de qué forma sabremos cuántas veces es precisa? Puesto que todo depende del proceso que desees reiterar y por cuánto. Veamos:

while (muerto != True):
    print "Seguiré codeando..."

Hay que llevar cuidado en de qué forma definimos nuestros procesos pues podemos tener inconvenientes si no detallamos en qué momento va a concluir de iterar nuestra estructura, por poner un ejemplo esa, que jamás acabará pues soy inmortal.

for alumno in grupo:
    print ("felicidades %s estas reprobado", alumno.nombre)

Asimismo puedes comprobar más sobre el funcionamiento en la documentación. Acá solo te muestro lo más básico que debes conocer para comenzar a desarrollar en Django, mas hay MUCHO más allí.

Un for es realmente útil cuando deseamos recorrer arreglos de datos y emplear cada uno de ellos de esos elementos en el arreglo si bien asimismo debes tener precaución de estar definiendo bien el alcance de tus ciclos.

NOTA: Asimismo puedes conjuntar estructuras para diferentes procesos, con lo que no es extraño que tengas un for en otro for, solo es preciso añadir otro nivel de identación con el tabulador y inconveniente resuelto.