SlideShare una empresa de Scribd logo
1 de 22
Python 101
1. Historia
2. Caracteristicas
3. Casos de éxito
4. ¿Por qué Python?
5. Herramientas
6. Sintaxis
8. Tipos de datos
8.1. Numeros
8.2. String
8.3. Boolean
8.4. Listas
8.5. Diccionarios
8.6. Tuplas
9. Operadores
9.1. Relacionales
9.2. Aritmeticos
9.3. Asignacion
9.4. Logicos
9.5. Pertenencia
10. Control de flujo
10.1. Condiciones
10.2. Bucles
13. I/O standard
14. Funciones
15. Import...
16. Numpy
Historia
Guido van Rossum
A finales de los 80’s
¿Por qué Python?
● Sencillo
● Fuertemente tipado
● Multiparadigma
● Tipado dinámico
● Facil integración con:
○ Java (Jython)
○ .NET (IronPython)
● Lenguaje de programación interpretado
● Aplicaciones:
○ Web (Django)
○ Física
○ Matematicas
○ Bioinformatica
FLOSS!!!
Casos de éxito
Herramientas
● Aptana, Netbeans, IDLE, Anaconda.
Sage (Software for Algebra and Geometry Experimentation)
Sintaxis
● Se distinguen Mayúsculas y minúsculas
● No se necesita carácter para indicar el fin de una
sentencia (;)
● Los bloques son especificados por indentación ({})
● La sentencia que define el inicio de un bloque finaliza
con dos puntos (:)
● # Esto es un comentario
● No es necesario declarar las variables.
Tipos de datos => Números
Enteros
Flotantes
Complejos
a = 10
b = 12345
c = 1.2345678901234567×10^N
d = 10.49
e = 4+7j
f = 34+67j
Límite:
Memoria
4.94065645841×10^-324 < N < 8.98846567431×10^307
Y hasta 17 cifras significativas
Conversión
int(‘10’)
Tipos de datos => Cadenas
Tipos de datos => Booleanos
a = “hola mundo” ⇔ ‘hola mundo’
a = True
b = False
Conversion
str(10)
Operadores => Relacionales
Operadores => Aritméticos
+
-
*
**
/
%
a = -2
b = 3
print a+b
print a-b
print a*b
print a**b
print a/b
print a%b
==
!=
<
<=
>
>=
a = -2
b = 3
print a==b
print a!=b
print a<b
print a<=b
print a>b
print a>=b
Operadores => Asignación
Operadores => Lógicos
=
+=
-=
i = 0
j = 10
while(i != j):
i+=1
j-=1
print “i = ” + str(i)
print “j = ” + str(j)
and ⇔ &
or ⇔ |
not ⇔ ~
a = true
b = false
if(a and b): #if(a & b)
print “No”
if(a or b): #if(a 1 b)
print “Ok”
if(not b): #if(~b)
print “No”
Operadores => Pertenencia
in
not in print a not in lista
a = 10
b = 20
lista = range(1,6)
print a in lista
I/O Standard
variable = raw_input(“Mensaje para el usuario”);
nombre = raw_input(“Nombre: ”)
edad = raw_input(“Ingrese edad”)
if(int(edad) < 18):
print nombre + “ eres menor de edad”
else:
print nombre + “ eres mayor de edad”
Control de flujo => Condiciones
if([condicion]):
[sentencia]
a = 12
b = 34
if(a<b):
print str(a)+”es menor que”+str(b)
if([condicion]):
[sentencia]
else:
[sentencia]
a,b = 23, 10
if(a < b):
print str(a)+”es menor que”+str(b)
else:
print str(a)+”es mayor que”+str(b)
if([condicion]):
[sentencia]
elif([condicion]):
[sentencia]
else:
[sentencia]
a,b = 23, 23
if(a < b):
print str(a)+”es menor que”+str(b)
elif(a == b):
print str(a)+”es igual a”+str(b)
else:
print str(a)+”es mayor que”+str(b)
Control de flujo => Bucles
while([condicion]):
[sentencia 1]
[sentencia 2]
[sentencia 3]
[sentencia 4]
...
edad = 1
while(edad<18):
print “¡Feliz cumpleaños!”
edad += 1
print “¡Feliz cumpleaños, eres mayor de edad!”
for i in [array]:
[sentencia 1]
[sentencia 2]
[sentencia 3]
[sentencia 4]
...
for i in range(18):
print “¡Feliz cumpleaños!”
print “¡Feliz cumpleaños, eres mayor de edad!”
Ejercicio: Picas y fijas
Tipos de datos => Listas
lista = [1, 2, 3, 4]
lista[0] #primer elemento
lista[:56] #toda la lista
lista[3:]
lista[3:6]
lista[:] #toda la lista
lista[0:2] = [] #borrar
len(lista) #tamaño
lista.append([1,2,3,4])
variable = []
Ejercicio: Producto escalar
Tipos de datos => Diccionarios
Tipos de datos => Tuplas
d = {‘nombre’: ‘sandra’, ‘apellido’: ‘guevara’}
print d['nombre']
print d.get(‘nombre’)
print d.has_key('nombre')
variable = {‘clave1’: ‘valor1’, ‘clave2’: ‘clave2’, ...}
t = (4, “Octubre”, 1.68, 45+10j)
print t[0]
variable = ([dato1], [datos2], [dato3], …)
t[2] = ‘Febrero’
len(t)
t = a,b,c
x,y,z = t
Ejercicio: Agenda
Funciones
def suma (a, b):
suma = a + b
return suma
print suma(4,6)
def nombreFuncion([parametros]):
[sentenciasFuncion]
return [expresion]
nombreFuncion(param1, param2,...)
Módulos
#calculadora.py
def resta(a, b):
return a-b
def division(a,b):
return a/b
import calculadora
print calculadora.resta(3,4)
Un módulo es un archivo que contiene definiciones y declaraciones de
Python. El nombre del archivo es el nombre del módulo con el sufijo .
py agregado.
from calculadora import division
print division(6,2)
from calculadora as calc
print calc.division(9,3)
Numpy
import numpy as np
a = np.arange(5)
a = np.zeros((2,3))
a = np.zeros((4,4), dtype=int)
np.dot(a, a)
m = np.matrix([[1,2,3],[4,5,7]])
np.transpose(m)
Matplotlib
SciPy
Gracias
Python 101

Más contenido relacionado

Similar a Python 101

Similar a Python 101 (20)

Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y RGestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
 
Python - Programación para machos
Python - Programación para machosPython - Programación para machos
Python - Programación para machos
 
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
 
Programacion en python_1
Programacion en python_1Programacion en python_1
Programacion en python_1
 
Cpp
CppCpp
Cpp
 
Cpp
CppCpp
Cpp
 
data_collection-es.pptx
data_collection-es.pptxdata_collection-es.pptx
data_collection-es.pptx
 
programacion
programacionprogramacion
programacion
 
introduccion a programacion
introduccion a programacionintroduccion a programacion
introduccion a programacion
 
introduccion de programacion
introduccion de programacionintroduccion de programacion
introduccion de programacion
 
Introduccion a Python
Introduccion a PythonIntroduccion a Python
Introduccion a Python
 
Primeros pasos con Rust
Primeros pasos con RustPrimeros pasos con Rust
Primeros pasos con Rust
 
Taller I Coreis Python 10112009
Taller I Coreis Python 10112009Taller I Coreis Python 10112009
Taller I Coreis Python 10112009
 
Introduccion a Python por Facundo Batista
Introduccion a Python por Facundo BatistaIntroduccion a Python por Facundo Batista
Introduccion a Python por Facundo Batista
 
Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2Fundamentosdeprogramacion 2
Fundamentosdeprogramacion 2
 
Introduccion clips
Introduccion clipsIntroduccion clips
Introduccion clips
 
274420287 tipos-de-datos-en-c (1)
274420287 tipos-de-datos-en-c (1)274420287 tipos-de-datos-en-c (1)
274420287 tipos-de-datos-en-c (1)
 
Python Tutorial Presentation
Python Tutorial PresentationPython Tutorial Presentation
Python Tutorial Presentation
 
Por que java
Por que javaPor que java
Por que java
 
Python workshop
Python workshopPython workshop
Python workshop
 

Más de RedRITA

Propuesta en Gestión de Proyectos y Análisis de Negocios
 Propuesta en Gestión de Proyectos y Análisis de Negocios Propuesta en Gestión de Proyectos y Análisis de Negocios
Propuesta en Gestión de Proyectos y Análisis de NegociosRedRITA
 
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...RedRITA
 
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...RedRITA
 
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...RedRITA
 
Gestión de Proyectos de Inversión Nacional
Gestión de Proyectos de Inversión NacionalGestión de Proyectos de Inversión Nacional
Gestión de Proyectos de Inversión NacionalRedRITA
 
Acreditación Institucional
Acreditación InstitucionalAcreditación Institucional
Acreditación InstitucionalRedRITA
 
Diseño de Políticas y Desarrollo TI -FiTi-
Diseño de Políticas y Desarrollo TI -FiTi-Diseño de Políticas y Desarrollo TI -FiTi-
Diseño de Políticas y Desarrollo TI -FiTi-RedRITA
 
Javascript 101
Javascript 101Javascript 101
Javascript 101RedRITA
 

Más de RedRITA (8)

Propuesta en Gestión de Proyectos y Análisis de Negocios
 Propuesta en Gestión de Proyectos y Análisis de Negocios Propuesta en Gestión de Proyectos y Análisis de Negocios
Propuesta en Gestión de Proyectos y Análisis de Negocios
 
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
 
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
 
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
 
Gestión de Proyectos de Inversión Nacional
Gestión de Proyectos de Inversión NacionalGestión de Proyectos de Inversión Nacional
Gestión de Proyectos de Inversión Nacional
 
Acreditación Institucional
Acreditación InstitucionalAcreditación Institucional
Acreditación Institucional
 
Diseño de Políticas y Desarrollo TI -FiTi-
Diseño de Políticas y Desarrollo TI -FiTi-Diseño de Políticas y Desarrollo TI -FiTi-
Diseño de Políticas y Desarrollo TI -FiTi-
 
Javascript 101
Javascript 101Javascript 101
Javascript 101
 

Último

Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfSandXmovex
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónjas021085
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfssuserc34f44
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIAMayraOchoa35
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfZamiertCruzSuyo
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 

Último (20)

Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporación
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIACLASE 2 MUROS CARAVISTA EN CONCRETO  Y UNIDAD DE ALBAÑILERIA
CLASE 2 MUROS CARAVISTA EN CONCRETO Y UNIDAD DE ALBAÑILERIA
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 

Python 101

  • 1.
  • 2. Python 101 1. Historia 2. Caracteristicas 3. Casos de éxito 4. ¿Por qué Python? 5. Herramientas 6. Sintaxis 8. Tipos de datos 8.1. Numeros 8.2. String 8.3. Boolean 8.4. Listas 8.5. Diccionarios 8.6. Tuplas 9. Operadores 9.1. Relacionales 9.2. Aritmeticos 9.3. Asignacion 9.4. Logicos 9.5. Pertenencia 10. Control de flujo 10.1. Condiciones 10.2. Bucles 13. I/O standard 14. Funciones 15. Import... 16. Numpy
  • 3. Historia Guido van Rossum A finales de los 80’s
  • 4. ¿Por qué Python? ● Sencillo ● Fuertemente tipado ● Multiparadigma ● Tipado dinámico ● Facil integración con: ○ Java (Jython) ○ .NET (IronPython) ● Lenguaje de programación interpretado ● Aplicaciones: ○ Web (Django) ○ Física ○ Matematicas ○ Bioinformatica FLOSS!!!
  • 6. Herramientas ● Aptana, Netbeans, IDLE, Anaconda. Sage (Software for Algebra and Geometry Experimentation)
  • 7. Sintaxis ● Se distinguen Mayúsculas y minúsculas ● No se necesita carácter para indicar el fin de una sentencia (;) ● Los bloques son especificados por indentación ({}) ● La sentencia que define el inicio de un bloque finaliza con dos puntos (:) ● # Esto es un comentario ● No es necesario declarar las variables.
  • 8. Tipos de datos => Números Enteros Flotantes Complejos a = 10 b = 12345 c = 1.2345678901234567×10^N d = 10.49 e = 4+7j f = 34+67j Límite: Memoria 4.94065645841×10^-324 < N < 8.98846567431×10^307 Y hasta 17 cifras significativas Conversión int(‘10’)
  • 9. Tipos de datos => Cadenas Tipos de datos => Booleanos a = “hola mundo” ⇔ ‘hola mundo’ a = True b = False Conversion str(10)
  • 10. Operadores => Relacionales Operadores => Aritméticos + - * ** / % a = -2 b = 3 print a+b print a-b print a*b print a**b print a/b print a%b == != < <= > >= a = -2 b = 3 print a==b print a!=b print a<b print a<=b print a>b print a>=b
  • 11. Operadores => Asignación Operadores => Lógicos = += -= i = 0 j = 10 while(i != j): i+=1 j-=1 print “i = ” + str(i) print “j = ” + str(j) and ⇔ & or ⇔ | not ⇔ ~ a = true b = false if(a and b): #if(a & b) print “No” if(a or b): #if(a 1 b) print “Ok” if(not b): #if(~b) print “No”
  • 12. Operadores => Pertenencia in not in print a not in lista a = 10 b = 20 lista = range(1,6) print a in lista
  • 13. I/O Standard variable = raw_input(“Mensaje para el usuario”); nombre = raw_input(“Nombre: ”) edad = raw_input(“Ingrese edad”) if(int(edad) < 18): print nombre + “ eres menor de edad” else: print nombre + “ eres mayor de edad”
  • 14. Control de flujo => Condiciones if([condicion]): [sentencia] a = 12 b = 34 if(a<b): print str(a)+”es menor que”+str(b) if([condicion]): [sentencia] else: [sentencia] a,b = 23, 10 if(a < b): print str(a)+”es menor que”+str(b) else: print str(a)+”es mayor que”+str(b) if([condicion]): [sentencia] elif([condicion]): [sentencia] else: [sentencia] a,b = 23, 23 if(a < b): print str(a)+”es menor que”+str(b) elif(a == b): print str(a)+”es igual a”+str(b) else: print str(a)+”es mayor que”+str(b)
  • 15. Control de flujo => Bucles while([condicion]): [sentencia 1] [sentencia 2] [sentencia 3] [sentencia 4] ... edad = 1 while(edad<18): print “¡Feliz cumpleaños!” edad += 1 print “¡Feliz cumpleaños, eres mayor de edad!” for i in [array]: [sentencia 1] [sentencia 2] [sentencia 3] [sentencia 4] ... for i in range(18): print “¡Feliz cumpleaños!” print “¡Feliz cumpleaños, eres mayor de edad!” Ejercicio: Picas y fijas
  • 16. Tipos de datos => Listas lista = [1, 2, 3, 4] lista[0] #primer elemento lista[:56] #toda la lista lista[3:] lista[3:6] lista[:] #toda la lista lista[0:2] = [] #borrar len(lista) #tamaño lista.append([1,2,3,4]) variable = [] Ejercicio: Producto escalar
  • 17. Tipos de datos => Diccionarios Tipos de datos => Tuplas d = {‘nombre’: ‘sandra’, ‘apellido’: ‘guevara’} print d['nombre'] print d.get(‘nombre’) print d.has_key('nombre') variable = {‘clave1’: ‘valor1’, ‘clave2’: ‘clave2’, ...} t = (4, “Octubre”, 1.68, 45+10j) print t[0] variable = ([dato1], [datos2], [dato3], …) t[2] = ‘Febrero’ len(t) t = a,b,c x,y,z = t Ejercicio: Agenda
  • 18. Funciones def suma (a, b): suma = a + b return suma print suma(4,6) def nombreFuncion([parametros]): [sentenciasFuncion] return [expresion] nombreFuncion(param1, param2,...)
  • 19. Módulos #calculadora.py def resta(a, b): return a-b def division(a,b): return a/b import calculadora print calculadora.resta(3,4) Un módulo es un archivo que contiene definiciones y declaraciones de Python. El nombre del archivo es el nombre del módulo con el sufijo . py agregado. from calculadora import division print division(6,2) from calculadora as calc print calc.division(9,3)
  • 20. Numpy import numpy as np a = np.arange(5) a = np.zeros((2,3)) a = np.zeros((4,4), dtype=int) np.dot(a, a) m = np.matrix([[1,2,3],[4,5,7]]) np.transpose(m) Matplotlib SciPy