34
Introducción Python: Nociones básicas Introducción a Python y bibliotecas Scipy Parte I LABI Facultad de Ingeniería de la UBA Primer cuatrimestre, 2019 1 / 27

Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

Introducción a Python y bibliotecas ScipyParte I

LABIFacultad de Ingeniería de la UBA

Primer cuatrimestre, 2019

1 / 27

Page 2: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

Plan

1 Introducción¿Qué es Python?¿Por qué Python?Anaconda

2 Python: Nociones básicasVariablesTipos de datosComandos básicosControl de flujoFunciones

2 / 27

Page 3: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

¿Qué es Python?

Lenguaje de programación de propósito general einterpretadoUtiliza tipado fuerte y dinámicoMás simple de leer y mantener que otros lenguajesEn general posee un menor rendimiento que otroslenguajes

3 / 27

Page 4: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

¿Qué es Python?

Lenguaje de programación de propósito general einterpretadoUtiliza tipado fuerte y dinámicoMás simple de leer y mantener que otros lenguajesEn general posee un menor rendimiento que otroslenguajes

3 / 27

Page 5: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

¿Qué es Python?

Lenguaje de programación de propósito general einterpretadoUtiliza tipado fuerte y dinámicoMás simple de leer y mantener que otros lenguajesEn general posee un menor rendimiento que otroslenguajes

3 / 27

Page 6: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

¿Qué es Python?

Lenguaje de programación de propósito general einterpretadoUtiliza tipado fuerte y dinámicoMás simple de leer y mantener que otros lenguajesEn general posee un menor rendimiento que otroslenguajes

3 / 27

Page 7: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

¿Por qué Python?

La popularidad de Python ha ido creciendo a lo largo de losaños, en especial a partir de 2008 con Python 3.0, permitiendoque hoy en día se utilice en varios campos:

Data analytics - Data ScienceAplicaciones en Machine learninge e inteligencia artificialSistemas embebidos - MicropythonProgramación Web - Back end

4 / 27

Page 8: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

¿Por qué Python?

La popularidad de Python ha ido creciendo a lo largo de losaños, en especial a partir de 2008 con Python 3.0, permitiendoque hoy en día se utilice en varios campos:

Data analytics - Data ScienceAplicaciones en Machine learninge e inteligencia artificialSistemas embebidos - MicropythonProgramación Web - Back end

4 / 27

Page 9: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

¿Por qué Python?

La popularidad de Python ha ido creciendo a lo largo de losaños, en especial a partir de 2008 con Python 3.0, permitiendoque hoy en día se utilice en varios campos:

Data analytics - Data ScienceAplicaciones en Machine learninge e inteligencia artificialSistemas embebidos - MicropythonProgramación Web - Back end

4 / 27

Page 10: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

¿Por qué Python?

La popularidad de Python ha ido creciendo a lo largo de losaños, en especial a partir de 2008 con Python 3.0, permitiendoque hoy en día se utilice en varios campos:

Data analytics - Data ScienceAplicaciones en Machine learninge e inteligencia artificialSistemas embebidos - MicropythonProgramación Web - Back end

4 / 27

Page 11: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

¿Por qué Python?

La popularidad de Python ha ido creciendo a lo largo de losaños, en especial a partir de 2008 con Python 3.0, permitiendoque hoy en día se utilice en varios campos:

Data analytics - Data ScienceAplicaciones en Machine learninge e inteligencia artificialSistemas embebidos - MicropythonProgramación Web - Back end

4 / 27

Page 12: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

Anaconda

Es un conjunto de herramientas que incluye interpretesactualizados de los lenguajes Python y R.

Incluye bibliotecas científicas para el análisis de datoscomo numpy, scipy, matplotlib, etc.Incluye el IDE SpyderIncluye Jupyter NotebookPosee un manejador de ambientes de Python

Guía de instalación de Anaconda en linuxhttps://www.digitalocean.com/community/tutorials/how-to-install-anaconda-on-ubuntu-18-04-quickstart

5 / 27

Page 13: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

Anaconda: Spyder

Spyder es un IDE para desarrollo en Python con consolainteractiva y explorador de variables.

6 / 27

Page 14: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

¿Qué es Python?¿Por qué Python?Anaconda

Anaconda: Jupyter Notebook

Jupyter Notebook es unaaplicación web paradesarrollo colaborativo enPython.Brinda la posibilidad deejecutar código Python deforma remota.Tiene capacidad deescribir fórmulas utilizandoLaTeX

7 / 27

Page 15: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Variables

Definición: Es el espacio de memoria designado para guardarun cierto tipo de información.

Python no requiere definir el tipo de dato de la variable.El tipado dinámico nos permite reasignar una variable de untipo a otra variable de un tipo distinto

8 / 27

Page 16: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Variables

Códigox = 5y = 2.7z = "FIUBA"x = "LABI"x = y

9 / 27

Page 17: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Tipos de datos

Los siguientes tipos de datos son soportados de forma nativapor el intérprete:

Boolean: True, FalseEntero: 3, 15 , -6Punto flotante: 3.14159Cadena de caracteres (String): "Laboratorio ABIerto"

10 / 27

Page 18: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Tipos de datos

Los siguientes tipos de datos son soportados de forma nativapor el intérprete:

Tuplas: Secuencia ordenada (indexada) de elementosinmutable (sus elementos no pueden ser reasignados).(1, 2.3, "LABI")Listas: Secuencia ordenada (indexada) de elementosmutable (sus elementos pueden ser reasignados).[1, 2.3, "LABI"]

En ambos casos se utiliza el operador [] para acceder a ellos.

11 / 27

Page 19: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Tipos de datos

Los siguientes tipos de datos son soportados de forma nativapor el intérprete:

Diccionarios: Colección de pares etiqueta - valores (key -values).{ 1: "LABI", "d": 3.14 }Conjunto: Colección no ordenada (y por lo tanto no puedeser indexada).{1,3,7,2}

12 / 27

Page 20: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Tipos de datos

Código

x = (1 , 5.23 , "LABI")x[0]y = [2 , -4, "LABI", 2.36]y[2]z = { 1: "LABI", "d": 3.14 }z[1]z["d"]v = {1,3,5,0}

¿Qué pasa si tratamos de acceder a un elemento de unconjunto o si se repiten elementos dentro del mismo?

13 / 27

Page 21: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Comandos básicos

Comentarios:’#’ : No se interpreta lo ingresado a continuación delcarácter’###’ : Se utiliza para comentar bloques

Imprimir por pantalla:print() : Compatible con versiones de Python mayores a 3.0print : Utilizada hasta la versión 2.7 de Python

Código

print("LABI")print(22)print "FIUBA"print 3.14

14 / 27

Page 22: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Comandos básicos

Conocer el tipo de una variable: type()

Códigox = 23type(x) # Devuelve ’int’

Conocer la longitud de un string, lista o tupla: len()

Códigox = "FIUBA"len(x) # Devuelve 5y = (1,3,"LABI",2.3)len(y) # Devuelve 4

15 / 27

Page 23: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Comandos básicos

Los tipos enteros y punto flotante aceptan lasoperaciones:

suma: +resta: -multiplicación: *división: /resto: %modulo: abs()redondeo: round()potenciación: ** ó pow()

El operador ’+’ también puede utilizarse con tipos stringpara concatenar.

16 / 27

Page 24: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Control de flujo

Python incluye varías estructuras para controlar el flujo deejecución de un programa según el resultado de evaluar unacondición de tipo boolean. En este curso veremos brevemente:

Sentencia ifSentencia whileSentencia for

17 / 27

Page 25: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Operadores de comparación

Python permite los siguientes operadores para realizaroperaciones de comparación que permiten evaluar unacondición:

Igual: ==No igual: !=Menor que: <Menor o igual que: <=Mayor que: >Mayor o igual que: >=

18 / 27

Page 26: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Operadores de comparación

Código2 == 2 # Devuelve True2 == 3 # Devuelve False2 != 3 # Devuelve True2 < 2 # Devuelve False2 <= 2 # Devuelve True

19 / 27

Page 27: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Operador de pertenencia

El operador in y not in se utilizan para saber si un elementopertenece o no a una lista, tupla, conjunto o diccionario (solopara etiquetas).

Código5 in [1,2,3,4,5] # Devuelve True5 not in [1,2,3,4] # Devuelve True’5’ in (’1’,’2’,’3’,’4’,5) # Devuelve False’5’ in {’1’:10 ,’5’:4} # Devuelve True5 in {1,2,5,7} # Devuelve True

20 / 27

Page 28: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Operador de pertenencia con diccionarios

Códigodicc = {’a’:1, ’b’:2, 3:’c’, 4:’d’}’a’ in dicc.keys()1 in dicc.keys()2 in dicc.values()’e’ in dicc.values()

21 / 27

Page 29: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Sentencia If

Sentencia If: Permite evaluar una condición y que al devolverun valor de tipo boolean se siga un camino u otro.

Códigoif ’condicA’:

# código en caso de que la condición A haya devuelto Trueelif ’condicB’:

# código en caso de que la condición B haya devuelto True..else:

# código en caso de que todas las condiciones anterioreshayan devuelto False

22 / 27

Page 30: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Sentencia While

Sentencia While: Permite ejecutar un conjunto de sentenciasmientras una condición devuelva True

Códigowhile ’condic’:

# sentencias que se ejecuta si la condición devolvió True

23 / 27

Page 31: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Sentencia For

Sentencia For: Permite iterar sobre los elementos de unalista, tupla, diccionario o string.

Códigoelem = [elem1, elem2, elem3, ....elemN]for nombre_var_iterac in elem:

# sentencias que se ejecutan a medida que se itera sobre# la lista. En cada iteración, nombre_var_iterac toma el# valor de un elemento de elem empezando por elem1# y terminando por elemN

24 / 27

Page 32: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Funciones

Definición: Subrutina con un objetivo definido que puede serllamada desde otras partes del algoritmo que seesté programando.

Python no requiere que se informe el tipo de lo quedevuelve la función y los tipos de los parámetros que seingresan.Se requiere una correcta indentación para que la funciónpueda ser interpretada. De otro modo el interpretedevuelve un error.

25 / 27

Page 33: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Funciones

Código

def ’nombre_func’(’param1’, ’param2 = paramValue2’,....):# Código correspondiente a la función# return valor_a_devolver

26 / 27

Page 34: Introducción a Python y bibliotecas Scipy Parte Ilabi.fi.uba.ar/sites/default/files/Curso_fiuba_Python_I.pdf · Introducción Python: Nociones básicas ¿Qué es Python? ¿Por qué

IntroducciónPython: Nociones básicas

VariablesTipos de datosComandos básicosControl de flujoFunciones

Funciones: Ejemplo

Código

def suma(x= 2, y = 3):return x + y

print(suma(1,9)) # Imprime 10print(suma()) # imprime 5

27 / 27