Una vida llena de Python!
¿Qué es Python?
Python es un lenguaje de programación de alto nivel moderno, de propósito general, orientado a objetos; creado por Guido van
Rossum en la decada de los 90.
Caracteristicas
- Lenguaje limpio y sencillo: código fácil de leer e intuitivo
- Dinámicamente tipado : No es necesario definir el tipo de variables, argumentos de función o tipos de retorno.
- Un lenguaje multiparadigma (orientación a objetos, imperativo y funcional.)
- Un lenguaje multipropósito (Usado para hacer una web o hacer cálculo matemático, un script para que te automatice una tarea de sistemas o un framework REST)
Time to Hello World!
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!";
return 0;
}
print("Hello, World!")
C++
Python way!
Vamos a aprender lo básico
# Los comentarios son muy útiles para los programadores
# Así que... POR FAVOR!! COMENTA TU CODIGO CUANDO TRABAJES CON OTROS FOR GOD SAKE!
print("Debo comentar mi codigo")
#Esto es una expresión
(5 * 10) - 4**2 + 3.14
# Asignación de variables
x = 2.13
a, b = 2, 10
Tipos de variables
# Enteros
x = 3
# Flotantes
y = 3.12315124
# Imaginarios? :O
z = 3 + 4j
# Strings
w = "Quiero egresar!!"
print(w) # Nos dará Quiero egresar!!
# Booleanos
a = True
b = False
Operaciones con cadenas
fullName = "Gerson Garrido"
# Tamaño de la cadena
len(name) # Nos dará 14
# Concatenacion
print(name + "tiene 23 años")
# Slicing
name = fullName[0:6] # Nos dará Gerson
# Métodos avanzados
university = "Universidad Nacional de Ingeniería"
university.index("Ing") # Retorna el indice donde empieza "Ing"
university.replace("Nacional","Privada")
Estructuras de control
# If / Else
if ranked >= 6000:
print("GOD")
elif ranked >= 4000:
print("Seems Good")
elif ranked >= 3000:
print("Life is hard")
else:
print("DELETE DOTA")
# While
i = 0
while i<4:
print('No debes jugar dota')
# For
for i in range(4):
print('No debes jugar dota ' + str(i))
Estructuras de control in a nutshell
Real Life Hacks :D
import time
import math
n = int(input("Cuantas iteraciones desea? "))
start = time.time()
pi,numer = 0,4.0
for i in range(n):
denom = (2*i+1)
term = numer/denom
if i%2:
pi -= term
else:
pi += term
end = time.time()
total_time = (end - start)
seconds = round(total_time, 8)
print("Valor de pi computado: " + str(pi))
print("error: " + str(math.fabs(math.pi - (pi))))
print(seconds, "seconds")
Colecciones I
# Ejemplo de listas
lista = [1 , 3 , "Hola" , 2.12 , 3j]
lista[2] # Imprime Hola
Listas
- Las listas son un tipo de colección ordenada. Sería equivalente a lo que en otros lenguajes se conoce por arrays, o vectores.
- Los elementos dentro de una lista pueden ser de cualquier tipo de dato.
- Puedo agregar y eliminar elementos de la lista en cualquier momento y además modificar sus elementos cuando lo desee (a diferencia de las tuplas) esto significa que son mutables.
Colecciones II
# Operaciones de listas
lista = [1 , 3 , "Hola" , 2.12 , 3j]
len(lista) # 5
lista = lista + ["c++",82] # [1 , 3 , "Hola" , 2.12 , 3j, "c++", 821]
for element in lista:
print( str( element ) ) # 1 , 3 , "Hola" , 2.12 , 3j, "c++", 821
"Hola" in lista # True
# Lista por comprensión
[str(n*n) for n in range(6)] # ['0', '1', '4', '9', '16', '25']
#Metodo append
lista.append("Final") # [1 , 3 , "Hola" , 2.12 , 3j, "c++", 821, "Final"]
# Metodo split
oracion = "Este ejemplo tiene cinco palabras"
palabras = oracion.split() # ["Este", "Ejemplo", "tiene", "cinco", "palabras"]
Colecciones III
# Ejemplos de Diccionarios
diccionario = {'nombre' : 'Carlos', 'edad' : 22, 'cursos': ['C','Java','Python'] }
print(diccionario)
print(diccionario['nombre']) #Carlos
print(diccionario['edad'])#22
print(diccionario['cursos']) #['C','Java','Python']
Diccionarios
- Los diccionarios, también llamados matrices asociativas, deben su nombre a que son colecciones que relacionan una clave y un valor, son muy parecidos a los objetos de JS.
Funciones
Como en cualquier otro lenguaje, en Python también es posible definir funciones, es decir, secuencias de enunciados que reciben ciertos datos, ejecutan algunas operaciones sobre ellos y devuelven un resultado.
# Funciones predefinidas
print(abs(-3)) # 3
print(round(6.25)) # 6
# Definición de funciones
def funcion_saludo2(name): #name viene a ser el parámetro de la función
print("Hola " + name)
funcion_saludo2("Goku")
# Algo mas hardcore
def calcula_media_desviacion(*args): # con el simbolo * le digo a la funcion que recibira una lista
total = 0
for i in args:
total += i
media = total / len(args)
total = 0
for i in args:
total += (i - media) ** 2
desviacion = (total / len(args)) ** 0.5
return media, desviacion
media, desviacion_std = calcula_media_desviacion(3,4,5,8,2,6)
print("Media:", media)
print("Desviación estándar:", desviacion_std)
Expresiones Regulares
Hoy en día el procesamiento de texto se ha convertido en una tarea cotidiana para la programación, por ello para que una máquina sea capaz de realizar una busqueda de subcadenas o patrones dentro de otras cadenas de texto de manera eficiente y rápida se usan las expresiones regulares.
Las expresiones regulares, también conocidas como 'regex' o 'regexp', son patrones de búsqueda definidos con una sintaxis formal.
Ejemplo de validacion de un correo
Python Científico
Numpy
Es la librería natural para python numérico. La característica más potente de NumPy es la matriz n-dimensional. Esta biblioteca contiene funciones básicas de álgebra lineal, transformadas de Fourier, capacidades avanzadas de números aleatorios y herramientas para la integración con otros lenguajes de bajo nivel como Fortran, C y C ++.
Pandas
Es una librería para operaciones y manipulaciones de datos estructurados. Pandas ha sido añadido recientemente a Python y han sido fundamental para impulsar el uso de Python en la ciencia de datos.
Matplotlib
Es una librería de Python para crear una gran variedad de gráficos, a partir de histogramas, lineas, etc, usando si es necesario comandos de látex para agregar matemáticas a los gráficos.
Scikit-Learn
Libreria para Machine Learning, construida sobre NumPy, SciPy y Matplotlib, esta biblioteca contiene una gran cantidad de herramientas eficientes para el Machine Learning y el modelado estadístico incluyendo clasificación, regresión, agrupación y reducción de la dimensionalidad.
Time to DEMO
Python Presentation
By gerson231294
Python Presentation
- 866