Clase 2 - Introducción A La Programación Con Python (Parte I)
Clase 2 - Introducción A La Programación Con Python (Parte I)
Data Science
Introducción a la
programación con Python
(Parte I)
¿DUDAS DEL ON-
BOARDING?
MIRALO AQUI
RECUERDA PONER A GRABAR
LA CLASE
● Realizar una primera aproximación al
lenguaje de programación Python.
● Conocer las distintas formas de desarrollo
OBJETIVOS DE LA con Python.
CLASE
MAPA DE CONCEPTOS
MAPA DE CONCEPTOS CLASE 2
Programación y
lenguajes
Toma de contacto
Python como lenguaje
con Python
Interpretado vs
Compilado
Basics: Variables,
asignación, operaciones
Python tradicional
Formas de desarrollo Estructuras
con Python
IPython y notebooks
Funciones
Tipos de datos
CRONOGRAMA DEL CURSO
Clase 1 Clase 2 Clase 3
ESTRATEGIA DATA-DRIVEN
TOMA DE CONTACTO
CON PYTHON
Desde el principio:
Programación y Python
¿Qué es la programación?
● La programación es una forma de ejecutar un
algoritmo.
● Un algoritmo es una secuencia de pasos que lleva a
un resultado.
● Una receta es un algoritmo.
● Si se sigue el algoritmo, se llega al resultado.
Programa y computadora
● La computadora nació para resolver cálculos.
● La programación es un complemento para la computadora.
● Es una forma de que la computadora entienda el funcionamiento de un
algoritmo y lo ejecute.
● La computadora entiende ceros y unos (lenguaje binario), nosotros no.
● Por lo tanto, un programa traduce un lenguaje humano a lenguaje
binario.
Programación y lenguajes
● No existe un solo lenguaje que solucione todos los problemas
● Cada lenguaje resuelve un conjunto de problemas posibles:
Empresariales, Web, etc.
● Para Data Science, existen algunos lenguajes que funcionan muy bien:
Python, R, Julia y Scala son algunos de ellos.\
● Usa un programa intérprete que traduce en tiempo casi real nuestras órdenes
a binario.
● La traducción se hace línea por línea.
● Podemos probar código “de a pedacitos”.
● El lenguaje compilado se traduce todo junto al final.
● No es simplemente una mejora, es una forma de trabajar muy útil para Data
Science.
Python en pocas palabras
(PYTHON IN A NUTSHELL)
x=1.4
x.is_integer() # ¿y ahora? se lo preguntamos de vuelta
¡ESCRÍBELO EN EL CHAT!
¿No notaste algo raro en el ejercicio anterior...?
Objetos y punteros
● Cuando operamos sobre una variable (método) operamos
sobre el objeto al que apunta.
● Cuando realizamos una asignación (=) conectamos
(apuntamos) la variable al objeto. Aquí no cambiamos el
objeto.
Objetos y punteros
x = [1, 2, 3] # x es una lista
y=x # el objeto al que apunta x ([1, 2, 3]) ahora es también
# apuntado por y
print(y is x) # x e y son el mismo objeto (True)
print(x,y) # [1, 2, 3] [1, 2, 3]
x.append(4) # aquí operó sobre el objeto [1, 2, 3] apuntado por x.
# Los métodos se identifican luego de un punto (x.método())
print(y) # como x e y apuntan al mismo objeto, y refleja los cambios
x = "hola" # al realizar asignación, ahora x apunta al objeto texto
# (string) "hola"
print(x is y) # x e y ahora no apuntan al mismo objeto (False)
print(x,y) # x e y apuntan a dos objetos diferentes (“hola” [1, 2, 3, 4])
Objetos y punteros
La diferencia es muy sutil y en general no afecta el trabajo de Data
Science. No obstante, no todos los lenguajes se comportan así.
■ Operadores aritméticos
■ Operadores de asignaciones
■ Operadores de identidad y pertinencia
Operadores aritméticos
● Los operadores aritméticos son directamente operaciones matemáticas
estándar.
Aritméticos
a+b Suma
a-b Resta
a*b Multiplicación
a/b División
a // b División entera (resultado sin decimal)
a%b Módulo (resto de la división entera)
a ** b Exponenciación
-a Negativo
Operadores de asignaciones
● Los asignadores simplifican operadores aritméticos comunes.
Asignaciones
a += b a=a+b
a -= b a=a-b
a *= b a=a*b
a /= b a=a/b
a //= b a = a // b
a %= b a=a%b
a **= b a = a ** b
Operadores de comparación
● Los comparadores dan resultados lógicos (si/no, true/false)
Comparadores
a == b a igual a b
a != b a distinto de b
a<b a menor a b
a>b a mayor a b
Identidad y pertenencia
a is b a es el mismo objeto que b
a is not b a no es el mismo objeto que b
a in b a está contenido en b
a not in b a no está contenido en b
¿QUIERES SABER MÁS? TE
DEJAMOS MATERIAL AMPLIADO
DE LA CLASE
● Guía de instalación de Python con Miniconda, Jupyter
notebooks y Google Colab
| Guillermo Leale