Introducción a Python

dom 29 abril 2018

Estuve participando del Flisol 2018 Purmamarca, para quienes no conozcan que es un Flisol les dejo este link. Dado que hice la charla en Markdown, y usando Typora (un editor de Markdown que quizás le haga un post más adelante) me permitió poder exportarlo a pdf, html y por supuesto hacer este post, todo sin mucho esfuerzo.

La charla fue de Introducción a Python, espero que disfruten el post y si encuentran algo que no cuadra... me avisan.

Quién soy?

Horacio Francisco Mayo @HoracioNakama (Twitter, Telegram, Instagram)

Contacto: oldoger@gmail.com

Estudiante avanzado de Ingeniería Agronómica

Miembro de la Cátedra de Informatica y Agroclimatología de la FCA-UNJu

Miembro de Python Norte y Python Argentina

Notas para la charla

[Lo que está encerrado en corchetes son acotaciones personales y para entender de una forma sencilla]

Se puede interrumpir en cualquier momento, es aburrido escuchar, pueden preguntar lo que quieran.

Temario

[TOC]

Qué es Python?

  • Es un lenguaje de programación nacido en el 1991
  • Open source: mantenido por la comunidad
  • Tiene dos versiones: 2.x [Se busca descontinuar su uso] (2.7.x ) y 3.x [Recomendado para aprender] (Actual 3.6.x)
  • Fácil de aprender: síntaxis sencilla
  • Multiplataforma: está instalado en cualquier sistema GNU Linux, pero tmb puede instalarse en Windows, Mac, etc

Propiedades de lenguaje

  • Tipado dinamico: no hay que declarar de que tipo es el dato [Python reconoce si lo que escribiste es un número, texto, variable, etc]
  • Compilado: puedes ejecutar tu script sin necesidad de compilar
  • Orientado a objetos: todo en python es un objeto
  • La biblioteca estandar tiene para trabajar con: fecha y hora, archivos zip, tar, expresiones regulares, unicode, CSV, interfaz grafica, etc.

Dónde encontrar información?

Python Software Foundation: www.python.org

Python Argentina: www.python.org.ar, lista de correo (dónde pueden consultar sus dudas y alguien le ayudara), canal IRC

Pybonacci: blog españo con tutoriales básicos y avanzados

Librerias y Frameworks exteriores

  • Diseñadas y mantenidas por la comunidad
  • Django: framework para crear sitios web.
  • Flask: librería para realizar sitios web, más pequeña que la anterior pero más moldeable que la anterior.
  • Pyinstaller: convierte mis archivos py en archivos ejecutables en Windows, Linux, Mac, etc
  • Pandas: analizar datos [Como un excel, pero mejor]
  • Scrapy: tomar datos de páginas web
  • PyQt: para armar ventanas
  • Pillow: trabajar con imagenes, cambiarle color, tamaño, copiar y pegar.
  • PyGame: para hacer juegos, presentaciones, gráficos

Un poco del lenguaje

Podemos usar python desde el interprete interactivo: Escribir en la terminal $ python o $ python3

Podemos ejecutar archivos .py desde la terminal con $ python nombredearchivo.py o $ python3 nombredearchivo.py

Usamos un # para los mensajes, algo que no queremos que lea el programa, son anotaciones para nosotros

Números

# Suma, funciona igual para resta
>>> 2 + 2
4
# División
>>> 9 / 2
4.5
# Resto de una división
>>> 9 % 2
1
# Potencia
>>> 2 ** 3
8

Texto

"En Python esto es una cadena de texto"
'Esto también es una cadena'
""" 
Esta es una cadena
De varias lineas
"""
>>> mensaje = "hola" + "mundo"
>>> print(mensaje)
holamundo
>>> "hola" * 3
'holaholahola'
# Cuánto es el largo de "Hola mundo"
>>> len("Hola mundo")
10
>>> "hola".capitalize()
Hola
>>> "hola".upper()
HOLA
# puedes aprender más si utilizas el dir
>>> dir("") 
# prueba y fijate que hay ahí

Controles de flujo

>>> a = 1
>>> if a == 0:
        print("El valor es 0")
    elif a == 1:
        print("El valor es 1")
    else:
        print("Es otro numero")
El valor es 1

También podemos usar: else

Podemos usar en lugar de or, and, not, <, >, ==, !=, >=, <=

Ciclos

# Utilizando el for
>>> palabras = ['palabra 1', 'palabra 2', 'palabra 3']
>>> for palabra in palabras:
        print(palabra)
palabra 1
palabra 2
palabra 3

# Si queremos la secuencia de números
>>> list(range(5))
[0, 1, 2, 3, 4]
# Podemos trabajar con los impares
>>> for numero in range(1, 8, 2):
        print(numero)
1
3
5
7
# usamos ahora el While
>>> a = 0
>>> while a < 1000:
        print(a)
        a += 100
0
100
200
...
800
900

Funciones

# Estructura básica
>>> def alcuadrado(numero)
        """Esta es una funcion para hacer un calculo de potencia"""
        resultado = n ** 2
        return resultado
>>> alcuadrado(4)
16
>>> resultado_almacenado = alcuadrado(2)
>>> print(resultado_almacenado)
4
>>> alcuadrado.__doc__
'Esta es una funcion para hacer un calculo de potencia'
>>> def suma(numero1, numero2):
    return numero1 + numero2
>>> resultado = suma(1, 3)
>>> print(resultado)
4
>>> def suma(num1, *args):
        resultado = num1
        for numero in args:
            resultado = resultado + numero
        return resultado
>>> suma(1, 2, 3)
6

Ejemplos sencillos

# recibir un mensaje
>>> print("Mensaje que quiero leer")
Mensaje que quiero leer
>>> nombre = input("cual es tu nombre?:")
cual es tu nombre?:horacio
>>> print(nombre)
horacio
# creamos una variable llamada lista donde habra varios números y un texto
>>> lista = [1, 3, 5, 'texto']
# imprimamos el cuarto elemento de la lista, en python las listas empiezan en 0
>>> print(lista[3])
texto
>>> print(lista[1:3])
[3, 5]
>>> print(lista[-1])
texto
>>> print(lista[-0]) 
1
>>> print(lista[0])
1
# como saber la fecha
>>> import datetime
>>> ahora = datetime.datetime.now().strftime("%d-%m-%y")
>>> print(ahora)
28-12-18
# Escribir un archivo de texto
with open("archivo_de_texto.txt", 'w') as archivo:
    archivo.write("un poco de texto")
# Para consultar lo que no entendemos
>>> help()
help> print

Categoria: Tutoriales