Introduccion a Python – Parte 1

¿Por que Python?
Bueno, Python ademas de ser un lenguaje muy simple utilizado para “enseñar a niñas de secundaria a programar” (sin ofender niñas), es un potente lenguaje en el cual mucho proyectos importantes se basan debido a la simplicidad del mismo y la gran cantidad de modulos que existen.

Veamos que es Python
Python es un lenguaje de programacion interpretado, con tipado dinámico, fuertemente tipado, multiplataforma y orientado a objetos. Algo importante a resaltar es que la indentacion del codigo es parte de la sintaxis de Python, haciendo esto al codigo prolijo y limpio, y siendo generalmente una gran molestia para aquellos que se inician en el.

Definiciones

  • Lenguaje interpretado: Un lenguaje interpretado es aquel que es ejecutado por un programa intermediario (interprete). Es decir que, el codigo no se compila, sino que un programa aparte es quien se encarga de interpretar las ordenes (lineas de codigo) y ejecutarlas en la computadora. Esto es lo que lo hace un lenguaje multiplataorma (ver mas adelante).
    NOTA: Aveces el interprete se encarga de generar archivos (.pyc y .pyo) que es una especie de “compilacion” (bytecode) para agilizar la ejecucion. Muchas veces luego de editar el codigo fuente notamos que los cambios no surten efecto, en este caso se eliminan los bytecode para que se generen los nuevos.
  • Tipado dinamico: Esto quiere decir que no es necesario indicar el tipo de dato que va a contener una determinada variable.
  • Fuertemente tipado: Esto significa que no se permite tratar o trabajar con una variable como si fuera de un tipo distinto al que tiene.
  • Multiplataforma: El interprete de Python esta disponible para multiples plataformas (Linux, Windows, Unix, Solaris, DOS, MAC OS, etc).
  • Programacion orientada a objetos: Este es un paradigma donde se transladan los conceptos del mundo real (relevantes para nuestro problema) a clases y objetos dentro de nuestro programa. Objetos que se crean e interactuan entre si durante la ejecucion del mismo.
  • Indentacion: Indentar el codigo es basicamente correrse hacia la derecha (dejando espacios o tabulaciones) a medida que vamos anidando estructuras de control, y hacia la izquierda a medida que salimos de ellas.
  • Estructuras de control: Estructuras propias de un lenguaje capaces de manipular el flujo del programa (condiciones, repeticiones, etc).
  • Flujo de un programa: El flujo de un programa, hace referencia al curso o camino que este toma durante su ejecucion. Veamos un ejemplo de un diagra de flujo, herramienta utilizada para representar los posibles caminos que puede tomar un programa.

Diagrama de flujo

Instalacion de Python

Aclaracion
Toda distribucion de Linux que conozco viene ya con Python instalado, en caso que exista alguna distribucion que no lo traiga, por favor revisen en la documentacion oficial de dicha distribucion e instalen los paquetes necesarios.

Descarga del sitio Oficial
Descargar Python desde el sitio oficial

Mi Primer Programa en Python
Formas de ejecutarlo

  1. Hay dos formas de ejecutar un programa en Python:
    Utilizar una linea de comandos interactiva – Esta forma la utilizo para hacer pruebas, se va ingresando el codigo linea por linea, y al mismo tiempo el interprete lo va ejecutando.
  2. Crear un archivo y luego pasarselo al interprete – Esta es la forma mas comun y habitual. Se crea un archivo con el nombre que quieran (debe ser algo nemotecnico, es decir, que te recuerde para que sirve), luego se le pasa dicho archivo al interprete.
    NOTA: En Linux esto se puede hacer desde una terminal ejecutando

    python /ruta/al/archivo.py

Creemos nuestro primer programa (ej: Linux)

  1. Crear un archivo nuevo y llamalo hola.py
  2. Ingresa en el mismo este codigo
    print "Hola, bienvenido a Python."
  3. Guarda los cambios.
  4. Abre una terminal y muevete a la carpeta donde se encuentra dicho archivo (hola.py).
  5. Ejecuta el programa pasandoselo al interprete de la siguiente manera
    python hola.py
  6. Deberiamos ver lo siguiente
    Hola, bienvenido a Python.
  7. Ahora edita nuevamente el archivo, debe quedar asi:
    # Esto es un comentario y el interprete ignora toda esta linea 🙂
    print "Hola, bienvenido a Python."
    raw_input()
    
  8. Guarda los cambios y vuelve a ejecutarlo como en el paso 5.
  9. Nota que ahora veremos “Hola, bienvenido a Python.”, pero el programa esperara a un ENTER antes de terminar.
  10. Listo, ya notaste que la funcion “print” sirve para mostrar algo al usuario en la terminal y “raw_input” para obtener del usuario informacion (tambien desde la terminal).

Tipos de Datos basicos
>> Numeros
Enteros
Los numeros enteros son todos aquellos numeros (positivos, negativo y el cero) que no tienen coma o parte decimal. En Python estos tipos se pueden representar con las palabras “int(de integer, entero)” o “long(largo)”. La cifra que pueden almacenar depende la plataforma en que se ejecuta el programa, en la mayoria de las computadoras el tipo int puede almacenar numeros entre (-2^31) y [(2^31)-1]. Mientras que el tipo long puede almacenar numeros de cualquier precision estando limitados por la memoria disponible en la maquina.

Ejemplo
Cuando asignamos a una variable un numero, se le asigna el tipo int, a no ser que el numero sea demasiado grande.

entero = 23
# type mostrara de que tipo es la variable en este caso "int"
type(entero)

En cambio, Python permite indicar que es de tipo long agregando una L al final

entero = 23L
# type mostrara de que tipo es la variable en este caso "long"
type(entero)

Reales
Los numeros reales son todos aquellos que tienen coma o parte decimal. En Python este tipo de numeros se representan con la palabra “float” y pueden almacenar numero desde +-(2,2250738585072020×10)-308 hasta +-1,7976931348623157×10308.

Ejemplo
Veamos dos foramas de definir un numero real o “float”
Escribimos la parte entera, un punto y la parte decimal

real = 0.3508

Usamos la notacion cientifica

real = 0.1e-3

Que seria equivalente a 0.1 x 10-3 = 0.1 x 0.001 = 0.0001

Imaginarios
Estos son numeros que tienen parte imaginaria (si nunca los viste, es probable que no los necesites). De hecho la mayoria de lenguajes de programacion carecen de este tipo de datos numericos, aunque son muy utilizados por ingenieros y cientificos.

Ejemplo
En Python los numeros complejos se representan

complejo = 4.5 + 3.6j

Usando operadores con numeros

Operador   Descripcion      Ejemplo
+          Suma             r = 3 + 2    # r es 5
-          Resta            r = 3 - 2    # r es 1
-          Negacion         r = -7       # r es -7
*          Multiplicacion   r = 3 * 2    # r es 6
**         Exponente        r = 2 ** 3   # r es 8
/          Division         r = 3.5 / 2  # r es 1.75
//         Division entera  r = 3.5 // 2 # r es 1.0
%          Modulo           r = 7 % 2    # r es 1

Nota: Si utilizamos dos operandos enteros, Python asumira que queremos que el resultado de la operacion sea un numero entero. En caso de que no sea asi le indicaremos a Python dos operando de distinto tipo o bien le diremos que combierta uno de los operandos es a otro tipo.

Ejemplo:

r = 3 / 2        # r es 1
r = 3 // 2       # r es 1
r = 3.0 / 2      # r es 1.5
r = float(3) / 2 # r es 1.5

>> Cadenas
Las cadenas en Python no son mas que texto encerrado entre comillas simples (‘cadena’) o dobles (“cadena”). Dentro de las comillas podemos utilizar caracteres especiales escapandolos con una barra invertida \ por ejemplo: “Bajar al siguiente renglon\n” o “Hacer una tabulacion\t”.

Una cadena puede estar precedida por una “u” o una “r” indicando si contiene caracteres Unicode o si es una cadena “raw” (del ingles, cruda). Las cadenas de tipo raw se utilizan mucho en expresiones regulares, ya que el interprete no sustituye los caracteres especiales, toma el texto talcual se lo indicas.

Ejemplo

cadena_unicode = u"äóè"
# En este caso "cadena_raw" no guarda una "nueva linea", sino que el texto "\n"
cadena_raw = r"\n"

Algunas notas
Tambien podremos definir cadenas entre triples comillas, de modo que no se respetaran los saltos de linea y las comillas que ingresamos.
Ejemplo

cadena1 = """ Titulo
'Primera' linea
"Segunda" Linea
Tercera linea
"""

cadena2 = '''Titulo
'Primera' linea
"Segunda" linea
Tercera linea
'''

# Mostramos el contenido de cadena1
print cadena1
# Mostraremos una nueva linea (comunmente llamado 'un ENTER')
print "\n"
# Mostramos el contenido de cadena2
print cadena2

De este modo si ejecutamos este codigo veriamos:

Titulo
'Primera' linea
"Segunda" linea
Tercera linea

Titulo
'Primera' linea
"Segunda" linea
Tercera linea

Usando operadores con cadenas
Algunos operadores son admitidos tambien aqui, veamos un ejemplo:

a = "uno"
b = "dos"

c = a + b # c es "unodos"
c = a * 3 # c es "unounouno"
c = a + " + " + b + " es igual a tres" # c es "uno + dos es igual a tres"

>> Booleanos
Un valor booleano (bool) es mas que simplemente True (verdadero) o False (falso). Es ademas el resultado de expresiones donde se utilizan operadores relacionales.

Operadores relacionales

Operador   Descripcion                  Ejemplo
==         ¿son iguales a y b?          r = 5 == 3 # r es False
!=         ¿son distintos a y b?        r = 5 != 3 # r es True
<          ¿a es menor que b?           r = 5 < 3  # r es True
>          ¿a es mayor que b?           r = 5 > 3  # r es False
<=         ¿a es menor o igual que b?   r = 5 <= 5 # r es True
>=         ¿a es mayor o igual que b?   r = 5 >= 3 # r es True

Operadores para trabajar con valores booleanos

Operador   Descripcion          Ejemplo
and        ¿se cumple a y b?    r = True and False # r es False
or         ¿se cumple a o b?    r = True and False # r es True
not        Negacion de a        r = not True       # r es False

Bueno hasta aqui la primera parte…
Espero vayan leyendo con paciencia y atencion, practiquen 🙂

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s