Básicos de la OSL:

Programando con Python desde 0

(CC By-SA)

Angel Pablo Hinojosa

@psicobyte_

http://www.psicobyte.com

psicobyte@gmail.com

Oficina de Software Libre de la Universidad de Granada

http://osl.ugr.es

Interpretado

Fuertemente (y dinámicamente) tipado

Multiparadigma (Orientado a objetos)

Multiplataforma

Enfocado a la legibilidad

Lo básico:

In [1]:
# Hola Mundo

saludo = "Hola"
print(saludo + " Mundo")
Hola Mundo
In [2]:
print(7 + 6.0)
13.0
In [3]:
cierto = True
falso = False

if cierto and 0:
    # no se imprime porque el cero es falso
    print("Imposible")
    if True:
        print("no llega a evaluarse")
elif not falso:
    # "no falso" es cierto
    print("Esta sí")
else:
    print("La última tampoco llega a evaluarse")
Esta sí

Un poquito más complicado

In [4]:
lista = [1, 2, 3, 4, 5]

print(lista)
[1, 2, 3, 4, 5]
In [5]:
print(lista[2])
3
In [6]:
lista_de_listas = [["a1","b1","c1"],["a2","b2","c2"]]
print(lista_de_listas[1][2])
c2
In [7]:
lista = ["uno", "dos", "tres", "cuatro", "cinco"]
for numero in lista:
    print(numero)
uno
dos
tres
cuatro
cinco
In [8]:
incremento = 0

while incremento < 5:
    incremento += 1
    if incremento == 3:
        print("*")
        break
    print(incremento)
1
2
*
In [9]:
incremento = 0

while incremento < 5:
    incremento += 1
    if incremento == 3:
        print("*")
        continue
    print(incremento)
1
2
*
4
5
In [10]:
diccionario = {"nombre": "Pablo", "apellido": "Hinojosa", "nacido": "1973"}
print(diccionario["nombre"])
Pablo
In [11]:
diccionario = {"nombre": "Pablo", "apellido": "Hinojosa", "nacido": "1973"}
for entrada in diccionario:
    print(diccionario[entrada])
Hinojosa
1973
Pablo

Funciones

In [12]:
def mi_funcion(texto):
    """Esto es una Docstring"""
    
    if " " in texto:
        print("El texto contiene varias palabras")
    elif len(texto) > 5:
        print("Es una palabra larga")
    else:
        print("Es una palabra corta")
        
mi_funcion("Hola mundo")
El texto contiene varias palabras
In [13]:
def otra_funcion(cosa,otra_cosa):
    return cosa + otra_cosa

resultado = otra_funcion(10,15)
print(resultado)

resultado = otra_funcion("Ho","La")
print(resultado)
25
HoLa
In [14]:
def funcion_molona(numero_final):
    i = 0
    while i < numero_final:
        i += 1
        yield i

for n in funcion_molona(5):
    print(n)
1
2
3
4
5

Objetos

In [15]:
class MiObjeto:
    def __init__(self,nombre):
        self.nombre = nombre
    def ver_nombre(self):
        return self.nombre
    
cosa = MiObjeto("Mi Cosa")

print(cosa.ver_nombre())
Mi Cosa
In [16]:
class ObjetoHijo(MiObjeto):
    def ver_nombre(self):
        return self.nombre
    
cosa = MiObjeto("Mi Cosa")

print(cosa.ver_nombre())
Mi Cosa

Módulos

In [17]:
import sys

mi_sistema = sys.platform

print(mi_sistema)
linux
In [18]:
import pandas as pd

# Ignorad esta línea
%matplotlib inline

data_frame = pd.DataFrame({
"uno": [1, 2, 3],      
"dos": [4, 1, 4],
"tres": [3, 2, 2]
})

data_frame.plot()
Out[18]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f7863a164e0>

Recursos

Esta Presentación: https://psicobyte.github.io/python_desde_0/

Otra presentación, más divertida (y completa) que esta: http://www.psicobyte.com/descargas/taller_python.pdf

Python: Lo bueno, lo feo y lo malo: https://psicobyte.github.io/CharlaPyday2016

Mi libro (porque yo he venido a hablar de mi libro): https://www.amazon.es/Phyton-ANGEL-PABLO-HINOJOSA-GUTIERREZ/dp/8499646115/

Web ofical de Python: https://www.python.org/

Python Granada: https://python-granada.es/

...y su grupo de Telegram: https://telegram.me/pythongranada