SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Programando conProgramando con
PorPor: Mario J.I.C.: Mario J.I.C.
@mario21ic@mario21ic
¿Qué es Python?¿Qué es Python?
● Guido van Rossum
● Lenguaje interpretado
● Multiparadigma.- orientado a objetos, imperativo y funcional.
● Multiplataforma
● Tipado dinámico y fuerte
● Sintáxis limpia con indentación
● Pilas ya cargadas
● Opensource
FlujoFlujo
$ python codigo.py
codigo.pyc VM
Máquina
ImplementacionesImplementaciones
● Cpython.- compila a bytecode, para ser interpretado, para
ser ejecutado en la virtual machine.
● Jython.- compila codigo python a Java bytecode, para ser
ejecutado en JVM.
● IronPython.- Python para .Net
● Pypy.- Python sobre python.
Tipos básicosTipos básicos
● Numéricos:
● Cadenas:
● Booleanos:
– True
– False
● None
Integer Float Complex
2 5.0 52.3j
Comilla simple Comilla doble Comilla triple
'Comilla simple' “Comilla doble” “““Triple
multilinea”””
Unicode Raw Formateo
u'Unicode' r'C:home' “Formateo nSegunda: %s t tab
entero %dnlista: %s" % ('xD', 12,
['xd', 21])
Tipos básicos - operacionesTipos básicos - operaciones
● Cadena:
cadena = "Hola mundo"
print "cadena:",cadena
print "lower:",cadena.lower()
print "upper:",cadena.upper()
print "find
mundo:",cadena.find('mundo')
print "find e:",cadena.find('e')
print "index
mundo:",cadena.index('mundo')
#print "index e:",cadena.index('e')
for c in cadena:
print c
●
String:
str(10.0)
●
Float:
flotante = 12.0
flotante.is_integer()
●
*Casting:
– Float:
flotante = float('12.2')
– Integer:
entero1 = int('12')
entero2 = int(flotante)
●
*Otros:
– Tamaño: len(cadena)
– Tipo: type(variable)
Operadores aritméticosOperadores aritméticos
Suma Resta Negación
2 + 2 2 - 1 -3
Multiplicación Exponente División
2 * 3 3 ** 2 6 / 2
Divisón entera Módulo
3.5 // 2 7 % 2
Operadores de AsignaciónOperadores de Asignación
● = asigna valor
a = 12
● +=
a += 5
● -=
a -= 15
● *=
a *= 3
● /=
a /= 2
● **=
a **= 3
● //=
a //= 10
Operadores lógicosOperadores lógicos
● And
● Or
● Not
True True = True
True False = False
False True = False
False False = False
True True = True
True False = True
False True = True
False False = False
True = False
True = True
Operadores de ComparaciónOperadores de Comparación
● >
0 > -1
● <
1 < 2
● >=
2 >= 2
● <=
1 <= 2
● ==
'xD' == 'xD'
● !=
3 != '3'
CondicionalesCondicionales
● if
if True:
...
● else
if len(variable) > 0:
...
else:
...
● elif
if condicion1:
…
elif condicion2:
…
else:
…
● switch case
NO HAY
Operador TernarioOperador Ternario
● Php:
$var1 = 'valor1';
$var2 = ($var1 == 'valor') ? 'valor2' : 'valor3';
echo $var2;
● Python:
var1 = 'valor1'
var2 = 'valor2' if var1 == 'valor1' else 'valor3'
print “var2:”,var2
Operadores corto circuitoOperadores corto circuito
● Javascript:
persona = true;
if (persona) {
var nombre = “Juan Perez”;
}
var nombre = persona && “Juan Perez”;
//nombre = false;
if (nombre) {
var encargado = nombre;
} else {
var encargado = "Algún nombre";
}
var encargado = nombre || "Algun
nombre";
● Python:
persona = True
if persona:
nombre = 'Juan Perez'
nombre = persona and 'Juan Perez'
#nombre = False
if nombre:
encargado = nombre
else:
encargado = 'Algun nombre'
encargado = nombre or 'Algun
nombre'
IterativosIterativos
● while
while x <= 10:
print x
● for-in
for x in range(10):
print x
● break
for x in range(10):
if x == 2:
break
● continue
for x in “abac”:
if x != “a”:
continue
nuevo += x
Tipos estructuradosTipos estructurados
● Listas
lista = [1, '2', ['tres', 4], '5', '6']
for x in lista:
print x
● Tuplas
tupla = (1, '2', ('tres', 4), '5', '6')
for x in tupla:
print x
● Diccionarios
diccionario = {'clave1': 'valor1', 'clave2': 2, 'subdicc': {'x': 'd'}}
for x,y in diccionario.items():
print “%s - %s” % (x, y)
Tipo estructurados: operacionesTipo estructurados: operaciones
● Listas:
lista[0] = 0
print "lista[0] = 0:",lista
lista.append('siete')
print "lista.append('siete'):",lista
lista.pop()
print "lista.pop():",lista
lista[2][0] = 3
print "lista[3][0] = 3:",lista
print "lista[1]:",lista[1]
print "lista[-2]:",lista[-2]
print "lista[2:]:",lista[2:]
print "lista[-2:1]:",lista[-2:1]
print "lista[:2]",lista[:2]
print "lista[:-2]",lista[:-2]
print "lista[1:4]",lista[1:4]
● Diccionario:
diccionario['clave1'] = 'nuevo_valor1'
diccionario['subdicc']['x'] = 'new_value_sub_dicc'
if 'clave1' in diccionario:
print 'si existe'
Listas por comprensiónListas por comprensión
lista_nueva = []
for x in range(10):
if x%2 == 0:
lista_nueva.append(x*2)
lista_nueva = [x*2 for x in range(10) if x%2 == 0]
"lista_nueva:",lista_nueva
● Nota: No recomendable cuando la expresión es complicada.
EjerciciosEjercicios
● Evaluar las siguientes expresiones, en el orden adecuado:
– a = 'b'
– b = a + 'b'
– 2 * (a + 'c' + b)
● Dada una cadena ingresada, imprimirla en el orden invertido.
● Devuelve el tamaño de la primera palabra de una oración.
● Imprimir solo los números pares menores que 10 y mayor que 0.
● Dado una cadena ingresada entre mayúsculas y minúsculas, contar el
numero de veces que aparece la vocal “a”.
● Sumar todos los impares que se encuentren entre 0 y 10 (incluyendolo).
● Simular un switch case.
Listas: operacionesListas: operaciones
● Eliminar
del lista[index]
● Fusionar
lista = lista + ['x','d'] + ['x','y']
● Copiar
a = [3,4,5,6]
b = a
a is b => True
b = a[:]
a is b => False
b = list(a)
a is b => False
● Comparación
[1, 2, 3] == [1, 2]
False
[1, 2, 3] == [1, 2, 3]
True
[1, 2, 3] == [1, 2, 4]
False
[1, 2, 3] < [1, 3, 2]
True
[10, 20, 30] > [1, 2, 3]
True
[1, 2, 3] < [1, 2]
False
Tipos especialesTipos especiales
● Ordenados
from collections import OrderedDict
markers = OrderedDict()
markers['ms123'] = 23.9
markers['mk31'] = 12.8
markers['ms92'] = 32.1
● Arrays
import array
miarray = array.array("i", [1,2,3])
miarray.append(4)
● Deque
from collections import deque
mideque = deque(“abc”)
mideque.appendleft('x')
mideque.popleft()
mideque.extendleft(['x', 'y'])
● Counter
from collections import Counter
cnt = Counter()
for word in ['red', 'blue', 'red', 'green',
'blue', 'blue']:
cnt[word] += 1
SetsSets
● Definiendo:
mi_set = set()
mi_set.add('juan')
mi_set.add('viki')
mi_set.add('nati')
otro = set(['juan', 'karina', 'diana'])
● Operaciones:
mi_set.intersection(otro)
mi_set.union(otro)
mi_set.difference(otro)
Mas operaciones: http://esintuitivo.blogspot.com/2008/06/conjuntos-en-python.html
FuncionesFunciones
● Simple:
def funcion_simple():
return “xD”
print funcion_simple()
● Parametros:
def funcion_parametros(cadena):
if cadena is not None:
print cadena
print funcion_parametros(“funcion parametros”)
● Parametros valores defecto:
def funcion_param_default(cadena1, cadena2='cad2', cadena3='cad3'):
return cadena1 + “ ” + cadena2 + “ “ + cadena3
print funcion_param_default('micad1', cadena3='micad3')
FuncionesFunciones
● Multi params:
def funcion_multi_param(cadena1, cadena2='cad2', cadena3='cad3', *args):
print "args:",args
return cadena1+" "+cadena2+" "+cadena3
print funcion_multi_param('xD', 'micad2', 'micad3', 'micad4', 'micad5')
● Multi key params:
def funcion_multi_key_param(cadena1, cadena2='cad2', cadena3='cad3',
**kwargs):
print "kwargs:",kwargs
return cadena1+" "+cadena2+" "+cadena3
print funcion_multi_key_param('xD', 'micad2', 'micad3', cad4='micad4',
cad5='micad5')
Módulos & PackagesMódulos & Packages
● Módulos:
from mimodulo import mifuncion
print mifuncion()
● Packages: se crea un archivo __init__.py dentro de una
carpeta
from mipackage.mimodulo import mifuncion
print mifuncion()
ArquitecturaArquitectura
EjerciciosEjercicios
● De una lista, eliminar los items ingresados por 3 inputs e imprimirlo.
● Acorde a una lista, simular un paginador, 12 items y mostrar 5 por página, cuyo page
será ingresado por input, imprimir los items.
● Dado 2 conjuntos, imprimir las 3 operaciones básicas (interseccion, diferencia, unión).
● Escriba una función que devuelva el valor de una raíz cúbica de un valor ingresado.
● Diseñe una función que calcule la multiplicación de todos los números que componen
una lista.
● Definir una función que dada una cadena x, devuelva otra cuyo contenido sea el
resultado de concatenar 6 veces por si misma.
● Realizar una función que dada una lista de números, devuelva otra lista que sólo
incluya sus números impares.
● Cree una estructura de package como si fuese java
“src.main.python.com.scytl.platform” e importar un módulo
POO: Clase y HerenciaPOO: Clase y Herencia
class Humano(object):
def saludar(self, para):
return "Hola " + para
class Persona(Humano):
def __pensar(self):
return “pensando”
def presentarse(self):
return "Me llamo "+self.nombre
juan_perez = Persona()
juan_perez.nombre = "Juan Perez"
print juan_perez.saludar("Pepito")
print juan_perez.presentarse()
juan_perez.__pensar()
POO: ConstructoresPOO: Constructores
class Humano(object):
def saludar(self, para):
return "Hola " + para
class Persona(Humano):
def __init__(self, nombre):
self.nombre = nombre
def presentarse(self):
return "Me llamo "+self.nombre
juan_perez = Persona("Juan Perez")
print juan_perez.saludar("Pepito")
print juan_perez.presentarse()
POO: Sobre escritura de métodosPOO: Sobre escritura de métodos
class Persona(Humano):
def presentarse(self):
return "Me llamo "+self.nombre
def saludar(self, para):
#print "saludar hijo"
#return super(Persona, self).saludar(para)
return "Saludo para: " + para
juan_perez = Persona()
juan_perez.nombre = "Juan Perez"
print juan_perez.saludar("Pepito")
print juan_perez.presentarse()
POO: Clases abstractasPOO: Clases abstractas
from abc import ABCMeta,
abstractmethod
class Abstracto(object):
__metaclass__ = ABCMeta
@abstractmethod
def metodo(self):
pass
class Heredado(Abstracto):
def metodo(self):
print "heredado"
>> x = Abstracto()
TypeError: Can't
instantiate abstract
class Abstracto with
abstract methods
metodo
>> x = Heredado()
>> x.metodo()
heredado
PolimorfismoPolimorfismo
class Pajaro():
def desplazar(self):
print("Volar")
class Vibora():
def desplazar(self):
print("Arrastrarse")
def mover(animal):
animal.desplazar()
p = Pajaro()
v = Vibora()
p.desplazar()
v.desplazar()
mover(p)
mover(v)
POO: Atributos especialesPOO: Atributos especiales
● __class__ la clase del objeto.
● __class__.__name__ nombre de la clase.
● __dict__ diccionario con los atributos de la clase
● __str__ invocado al momento de hacer print sobre si o str()
● __len__ se invoca al aplicar la funcion len()
● __repr__ se invoca con la funcion repr()
● __iter__ permite iterar sobre una secuencia, como cuando se usa for sencuencia
● __getitem__ para acceder a un objeto secuencialmente o usando un subíndice
tipo objeto[n], requiere 2 parámetros.
● __setitem__ para asignarle el valor a una clave
● __delitem__ implementa el borrado de un objeto
Mas: https://docs.python.org/2/reference/datamodel.html
POO: Herencia multiplePOO: Herencia multiple
class C1(object):
def metodo1(self):
return "metodo 1"
def metodo3(self):
return "metodo 3"
class C2(object):
def metodo2(self):
return "metodo 2"
def metodo3(self):
return "metodo 3.1"
class C3(C1,C2):
pass
objeto = C3()
print objeto.metodo1()
print objeto.metodo2()
print objeto.metodo3()
Datos compartidosDatos compartidos
class SharedData(object):
spam = 42
x = SharedData()
y = SharedData()
>> print x.spam, y.spam
42, 42
>> x.spam +=1
>> print x.spam, y.spam
43, 42
>> SharedData.spam = 99
>> print x.spam, y.spam
43, 99
ExcepcionesExcepciones
def fetcher(obj, index):
return obj[index]
x = 'spam'
print fetcher(x, 3)
#print fetcher(x, 4)
try:
fetcher(x, 4)
except IndexError:
print 'got expception'
ExcepcionesExcepciones
● except: captura excepciones que no esten en otro except.
● except name: captura una excepcion específica.
● except name as value: captura una excepcion y la asigna a
una variable.
●
except (name1, name2): captura cualquiera de las
expcepciones listadas.
● except (name1, name2) as value: captura cualquiera y la
asigna a una variable.
● else: Se ejecuta si no se presenta ninguna excepcion
● finally: se ejecuta asi se presenten o no excepciones.
Excepciones comunesExcepciones comunes
Error Descripción
RuntimeError Error en el sistema
TypeError Error de tipo de dato
NameError Variable no existe
ValueError Error en casting
Excepciones: LevantamientoExcepciones: Levantamiento
try:
raise IndexError
except IndexError:
print 'got exception'
Excepciones: PersonalizacionExcepciones: Personalizacion
class AlreadyGotOne(Exception):
pass
def grail():
raise AlreadyGotOne()
try:
grail()
except AlreadyGotOne:
print 'got exception customized'
EjerciciosEjercicios
● Crea una clase, que implemente sus métodos pop, push y devuelva cuantos items quedan en la
pila.
● Crear una clase con atributos: nombres, apellidos y dni; que al momento de hacer un print sobre
una instancia imprima los atributos mencionados.
● Crea una clase abstracta llamada FiguraGeometrica con los atributos nombre, num_lados y los
métodos devolver nombre() y calcular area() y extiendala mediante las clases Rectangulo,Circulo,
Triangulo y reimplemente las funciones de la superclase en cada una de las subclases.
● Defina una clase EnsaladaFrutas con una atributo frutas que sea inicialmente ['melones', 'pinas',
'manzanas'] y un atributo raciones cuyo valor inicial sea 4. Escriba un metodo init que recibalos
argumentos ingredientes (una lista de cadenas) y num raciones (un entero) y guarde losvalores
obtenidos en los atributos y frutas y raciones (las que queden)
● En el ejercicio anterior escriba un metodo agregar() que obtenga una cadena de texto y laagregue
al final de la lista frutas. Agregue adem´as un metodo servir() que reduzca en uno la cantidad de
raciones e imprima "Disfrute", si ya no hay raciones debe imprimir "Disculpe"
● Escriba un programa que itere sobre una lista utilizando un rango superior a la cantidad
deelementos de la lista. Cuando se produzca el error, este debe ser capturado por una excepcion e
imprimir sus datos, agregue una sentencia finally que imprima la cantidad de elementos dela lista.

Weitere ähnliche Inhalte

Was ist angesagt?

Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapBassem ABCHA
 
Pasos Para Crear un Formulario Con Base de Datos En Visual Basic
Pasos Para Crear un Formulario Con Base de Datos En Visual BasicPasos Para Crear un Formulario Con Base de Datos En Visual Basic
Pasos Para Crear un Formulario Con Base de Datos En Visual BasicMaybel_Lopez
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
Programacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidorProgramacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidorAlejandro Hernandez
 
Culture numérique - Révision.pdf
Culture numérique - Révision.pdfCulture numérique - Révision.pdf
Culture numérique - Révision.pdfMedBechir
 
COURS-STATISTIQUE-DESCRIPTIVE.pdf
COURS-STATISTIQUE-DESCRIPTIVE.pdfCOURS-STATISTIQUE-DESCRIPTIVE.pdf
COURS-STATISTIQUE-DESCRIPTIVE.pdfHassanHassan176861
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-caseGuillermo Viaje
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automataJacqui Venegas
 
Python básico
Python básicoPython básico
Python básicoCodeSyntax
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 

Was ist angesagt? (20)

Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
Cours de c
Cours de cCours de c
Cours de c
 
Pasos Para Crear un Formulario Con Base de Datos En Visual Basic
Pasos Para Crear un Formulario Con Base de Datos En Visual BasicPasos Para Crear un Formulario Con Base de Datos En Visual Basic
Pasos Para Crear un Formulario Con Base de Datos En Visual Basic
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Programacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidorProgramacion web c5 programacion del lado servidor
Programacion web c5 programacion del lado servidor
 
Culture numérique - Révision.pdf
Culture numérique - Révision.pdfCulture numérique - Révision.pdf
Culture numérique - Révision.pdf
 
COURS-STATISTIQUE-DESCRIPTIVE.pdf
COURS-STATISTIQUE-DESCRIPTIVE.pdfCOURS-STATISTIQUE-DESCRIPTIVE.pdf
COURS-STATISTIQUE-DESCRIPTIVE.pdf
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
Python básico
Python básicoPython básico
Python básico
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
Unidad 3: Herencia Ejercicio 3
Unidad 3: Herencia Ejercicio 3Unidad 3: Herencia Ejercicio 3
Unidad 3: Herencia Ejercicio 3
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
tutotial netbeans
tutotial netbeanstutotial netbeans
tutotial netbeans
 
Informatique de gestion
Informatique de gestionInformatique de gestion
Informatique de gestion
 

Andere mochten auch

Modelos matemáticos de seguridad
Modelos matemáticos de seguridadModelos matemáticos de seguridad
Modelos matemáticos de seguridadSilvia Michay
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones RegularesKar Juan
 
TEORIA DE LA SEGURIDAD SOCIAL APLICADO AL DERECHO PREVISIONAL Sesion 01 Imp
TEORIA DE LA SEGURIDAD SOCIAL APLICADO AL DERECHO PREVISIONAL  Sesion 01 ImpTEORIA DE LA SEGURIDAD SOCIAL APLICADO AL DERECHO PREVISIONAL  Sesion 01 Imp
TEORIA DE LA SEGURIDAD SOCIAL APLICADO AL DERECHO PREVISIONAL Sesion 01 ImpBoris Potozén
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regularesJordan-P
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informaticaErii Utatane
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones RegularesIsabel
 
Expresiones regulares y gramaticas
Expresiones regulares y gramaticasExpresiones regulares y gramaticas
Expresiones regulares y gramaticasRobin Pena
 
Auditoria un enfoque practico.
Auditoria un enfoque practico.Auditoria un enfoque practico.
Auditoria un enfoque practico.frankDrew
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informaticaJaime
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticasJuanchi Novas
 
Sistemas Y Modelos De Inventarios
Sistemas Y Modelos De InventariosSistemas Y Modelos De Inventarios
Sistemas Y Modelos De Inventariosguesta316ad87
 
Odoo - Backend modules in v8
Odoo - Backend modules in v8Odoo - Backend modules in v8
Odoo - Backend modules in v8Odoo
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo BasicMario IC
 
Fórmulas para la liquidación de prestaciones sociales
Fórmulas para la liquidación de prestaciones socialesFórmulas para la liquidación de prestaciones sociales
Fórmulas para la liquidación de prestaciones socialesYurley Higuita Restrepo
 

Andere mochten auch (20)

Modelos matemáticos de seguridad
Modelos matemáticos de seguridadModelos matemáticos de seguridad
Modelos matemáticos de seguridad
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
Seguridad Informática
Seguridad InformáticaSeguridad Informática
Seguridad Informática
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
 
TEORIA DE LA SEGURIDAD SOCIAL APLICADO AL DERECHO PREVISIONAL Sesion 01 Imp
TEORIA DE LA SEGURIDAD SOCIAL APLICADO AL DERECHO PREVISIONAL  Sesion 01 ImpTEORIA DE LA SEGURIDAD SOCIAL APLICADO AL DERECHO PREVISIONAL  Sesion 01 Imp
TEORIA DE LA SEGURIDAD SOCIAL APLICADO AL DERECHO PREVISIONAL Sesion 01 Imp
 
AUDITORIA INFORMATICA
AUDITORIA INFORMATICAAUDITORIA INFORMATICA
AUDITORIA INFORMATICA
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
Expresiones regulares y gramaticas
Expresiones regulares y gramaticasExpresiones regulares y gramaticas
Expresiones regulares y gramaticas
 
Auditoria un enfoque practico.
Auditoria un enfoque practico.Auditoria un enfoque practico.
Auditoria un enfoque practico.
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
 
Auditoria Informatica
Auditoria InformaticaAuditoria Informatica
Auditoria Informatica
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticas
 
Sistemas Y Modelos De Inventarios
Sistemas Y Modelos De InventariosSistemas Y Modelos De Inventarios
Sistemas Y Modelos De Inventarios
 
Odoo - Backend modules in v8
Odoo - Backend modules in v8Odoo - Backend modules in v8
Odoo - Backend modules in v8
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo Basic
 
Fórmulas para la liquidación de prestaciones sociales
Fórmulas para la liquidación de prestaciones socialesFórmulas para la liquidación de prestaciones sociales
Fórmulas para la liquidación de prestaciones sociales
 
Sistema de inventarios
Sistema de inventariosSistema de inventarios
Sistema de inventarios
 
Activos fijos
Activos  fijosActivos  fijos
Activos fijos
 

Ähnlich wie Programando con Python: Introducción a la programación con Python

Ähnlich wie Programando con Python: Introducción a la programación con Python (20)

Python - Programación para machos
Python - Programación para machosPython - Programación para machos
Python - Programación para machos
 
Python
Python Python
Python
 
C:\Fakepath\Python}
C:\Fakepath\Python}C:\Fakepath\Python}
C:\Fakepath\Python}
 
Python}
Python}Python}
Python}
 
Arreglos. lidia
Arreglos. lidiaArreglos. lidia
Arreglos. lidia
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
 
Mathscript
MathscriptMathscript
Mathscript
 
2 algoritmos-1
2 algoritmos-12 algoritmos-1
2 algoritmos-1
 
Algoritmos y Estructura de Datos
Algoritmos y Estructura de DatosAlgoritmos y Estructura de Datos
Algoritmos y Estructura de Datos
 
curso_programacion_python3.pdf
curso_programacion_python3.pdfcurso_programacion_python3.pdf
curso_programacion_python3.pdf
 
Resumen Java Script
Resumen Java ScriptResumen Java Script
Resumen Java Script
 
Introducción a la programación en Python
Introducción a la programación en PythonIntroducción a la programación en Python
Introducción a la programación en Python
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Iniciación a las artes marciales con Python
Iniciación a las artes marciales con PythonIniciación a las artes marciales con Python
Iniciación a las artes marciales con Python
 
Matrices
MatricesMatrices
Matrices
 
Clase 6
Clase 6Clase 6
Clase 6
 
INTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptx
INTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptxINTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptx
INTRODUCCIÓN A LA PROGRAMACIÓN - PYTHON.pptx
 
IntroPython s2.pdf
IntroPython s2.pdfIntroPython s2.pdf
IntroPython s2.pdf
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Mehr von Mario IC

Aws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMSAws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMSMario IC
 
Aws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMSAws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMSMario IC
 
Testing Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfraTesting Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfraMario IC
 
Automatización de tareas con Ansible
Automatización de tareas con AnsibleAutomatización de tareas con Ansible
Automatización de tareas con AnsibleMario IC
 
Earthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroidesEarthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroidesMario IC
 
Infraestructura como Codigo para Developers
Infraestructura como Codigo para DevelopersInfraestructura como Codigo para Developers
Infraestructura como Codigo para DevelopersMario IC
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkMario IC
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmMario IC
 
Cloud native Computing Perú Octubre
Cloud native Computing Perú OctubreCloud native Computing Perú Octubre
Cloud native Computing Perú OctubreMario IC
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeMario IC
 
Workshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraWorkshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraMario IC
 
Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmMario IC
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker ComposeMario IC
 
Docker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junioDocker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junioMario IC
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoMario IC
 
Testing en BDD con Python y Behave
Testing en BDD con Python y BehaveTesting en BDD con Python y Behave
Testing en BDD con Python y BehaveMario IC
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with TerraformMario IC
 
Docker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbdayDocker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbdayMario IC
 
Modelado de API con RAML
Modelado de API con RAMLModelado de API con RAML
Modelado de API con RAMLMario IC
 
Docker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker RegistryDocker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker RegistryMario IC
 

Mehr von Mario IC (20)

Aws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMSAws Security Latam - Criptografia con KMS
Aws Security Latam - Criptografia con KMS
 
Aws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMSAws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMS
 
Testing Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfraTesting Ansible Playbook con Molecule + TestInfra
Testing Ansible Playbook con Molecule + TestInfra
 
Automatización de tareas con Ansible
Automatización de tareas con AnsibleAutomatización de tareas con Ansible
Automatización de tareas con Ansible
 
Earthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroidesEarthly, Dockerfile con esteroides
Earthly, Dockerfile con esteroides
 
Infraestructura como Codigo para Developers
Infraestructura como Codigo para DevelopersInfraestructura como Codigo para Developers
Infraestructura como Codigo para Developers
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform framework
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
 
Cloud native Computing Perú Octubre
Cloud native Computing Perú OctubreCloud native Computing Perú Octubre
Cloud native Computing Perú Octubre
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As Code
 
Workshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraWorkshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - Suestra
 
Docker Compose to Production with Docker Swarm
Docker Compose to Production with Docker SwarmDocker Compose to Production with Docker Swarm
Docker Compose to Production with Docker Swarm
 
GDG Lima - Docker Compose
GDG Lima - Docker ComposeGDG Lima - Docker Compose
GDG Lima - Docker Compose
 
Docker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junioDocker Lima meetup - 22 de junio
Docker Lima meetup - 22 de junio
 
Docker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup MayoDocker Compose para el Docker Lima Meetup Mayo
Docker Compose para el Docker Lima Meetup Mayo
 
Testing en BDD con Python y Behave
Testing en BDD con Python y BehaveTesting en BDD con Python y Behave
Testing en BDD con Python y Behave
 
Infrastructure as Code with Terraform
Infrastructure as Code with TerraformInfrastructure as Code with Terraform
Infrastructure as Code with Terraform
 
Docker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbdayDocker Birthday Peru #dockerbday
Docker Birthday Peru #dockerbday
 
Modelado de API con RAML
Modelado de API con RAMLModelado de API con RAML
Modelado de API con RAML
 
Docker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker RegistryDocker Ecosystem: Part V - Docker Registry
Docker Ecosystem: Part V - Docker Registry
 

Kürzlich hochgeladen

electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejerciciosEfrain Yungan
 
Accidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxAccidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxBuddyroi
 
Unidad_1_Parte_1 organización y estructura de los seres vivos
Unidad_1_Parte_1 organización y estructura de los seres vivosUnidad_1_Parte_1 organización y estructura de los seres vivos
Unidad_1_Parte_1 organización y estructura de los seres vivossolareslionel9
 
Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososAdrianVarela22
 
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2santiagoBernabei8
 
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdfDispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdfdego18
 
Análisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadísticaAnálisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadísticaJoellyAlejandraRodrg
 
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfmcamposa87
 
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdfFOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdfDanielAlejandroAguir2
 
Unid 3 Extraccion 10-10-23 operaciones unitarias
Unid 3 Extraccion 10-10-23 operaciones unitariasUnid 3 Extraccion 10-10-23 operaciones unitarias
Unid 3 Extraccion 10-10-23 operaciones unitariasPatriciaRaimondi
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxOSCARADRIANMEDINADUR
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasPaulina Cargua
 
Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfjhorbycoralsanchez
 
Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)esmerling14
 
movimiento circular univormemente variado
movimiento circular univormemente variadomovimiento circular univormemente variado
movimiento circular univormemente variadoEsthefaniaAuquilla1
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfAnthony Gualpa
 
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docxMONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docxValentinaRavelo5
 
bombas-hidraulicas para permitir transporte en una instalación
bombas-hidraulicas para permitir  transporte en una instalaciónbombas-hidraulicas para permitir  transporte en una instalación
bombas-hidraulicas para permitir transporte en una instalaciónLuisLobatoingaruca
 
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalCapacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalamador030809
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxKeylaArlethTorresOrt
 

Kürzlich hochgeladen (20)

electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicios
 
Accidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxAccidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptx
 
Unidad_1_Parte_1 organización y estructura de los seres vivos
Unidad_1_Parte_1 organización y estructura de los seres vivosUnidad_1_Parte_1 organización y estructura de los seres vivos
Unidad_1_Parte_1 organización y estructura de los seres vivos
 
Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrosos
 
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
Química Analítica-U1y2-2024.pdf. Unidades 1 y 2
 
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdfDispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
 
Análisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadísticaAnálisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadística
 
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
 
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdfFOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
 
Unid 3 Extraccion 10-10-23 operaciones unitarias
Unid 3 Extraccion 10-10-23 operaciones unitariasUnid 3 Extraccion 10-10-23 operaciones unitarias
Unid 3 Extraccion 10-10-23 operaciones unitarias
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptx
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicas
 
Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdf
 
Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)
 
movimiento circular univormemente variado
movimiento circular univormemente variadomovimiento circular univormemente variado
movimiento circular univormemente variado
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdf
 
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docxMONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
 
bombas-hidraulicas para permitir transporte en una instalación
bombas-hidraulicas para permitir  transporte en una instalaciónbombas-hidraulicas para permitir  transporte en una instalación
bombas-hidraulicas para permitir transporte en una instalación
 
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalCapacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
 

Programando con Python: Introducción a la programación con Python

  • 1. Programando conProgramando con PorPor: Mario J.I.C.: Mario J.I.C. @mario21ic@mario21ic
  • 2. ¿Qué es Python?¿Qué es Python? ● Guido van Rossum ● Lenguaje interpretado ● Multiparadigma.- orientado a objetos, imperativo y funcional. ● Multiplataforma ● Tipado dinámico y fuerte ● Sintáxis limpia con indentación ● Pilas ya cargadas ● Opensource
  • 4. ImplementacionesImplementaciones ● Cpython.- compila a bytecode, para ser interpretado, para ser ejecutado en la virtual machine. ● Jython.- compila codigo python a Java bytecode, para ser ejecutado en JVM. ● IronPython.- Python para .Net ● Pypy.- Python sobre python.
  • 5. Tipos básicosTipos básicos ● Numéricos: ● Cadenas: ● Booleanos: – True – False ● None Integer Float Complex 2 5.0 52.3j Comilla simple Comilla doble Comilla triple 'Comilla simple' “Comilla doble” “““Triple multilinea””” Unicode Raw Formateo u'Unicode' r'C:home' “Formateo nSegunda: %s t tab entero %dnlista: %s" % ('xD', 12, ['xd', 21])
  • 6. Tipos básicos - operacionesTipos básicos - operaciones ● Cadena: cadena = "Hola mundo" print "cadena:",cadena print "lower:",cadena.lower() print "upper:",cadena.upper() print "find mundo:",cadena.find('mundo') print "find e:",cadena.find('e') print "index mundo:",cadena.index('mundo') #print "index e:",cadena.index('e') for c in cadena: print c ● String: str(10.0) ● Float: flotante = 12.0 flotante.is_integer() ● *Casting: – Float: flotante = float('12.2') – Integer: entero1 = int('12') entero2 = int(flotante) ● *Otros: – Tamaño: len(cadena) – Tipo: type(variable)
  • 7. Operadores aritméticosOperadores aritméticos Suma Resta Negación 2 + 2 2 - 1 -3 Multiplicación Exponente División 2 * 3 3 ** 2 6 / 2 Divisón entera Módulo 3.5 // 2 7 % 2
  • 8. Operadores de AsignaciónOperadores de Asignación ● = asigna valor a = 12 ● += a += 5 ● -= a -= 15 ● *= a *= 3 ● /= a /= 2 ● **= a **= 3 ● //= a //= 10
  • 9. Operadores lógicosOperadores lógicos ● And ● Or ● Not True True = True True False = False False True = False False False = False True True = True True False = True False True = True False False = False True = False True = True
  • 10. Operadores de ComparaciónOperadores de Comparación ● > 0 > -1 ● < 1 < 2 ● >= 2 >= 2 ● <= 1 <= 2 ● == 'xD' == 'xD' ● != 3 != '3'
  • 11. CondicionalesCondicionales ● if if True: ... ● else if len(variable) > 0: ... else: ... ● elif if condicion1: … elif condicion2: … else: … ● switch case NO HAY
  • 12. Operador TernarioOperador Ternario ● Php: $var1 = 'valor1'; $var2 = ($var1 == 'valor') ? 'valor2' : 'valor3'; echo $var2; ● Python: var1 = 'valor1' var2 = 'valor2' if var1 == 'valor1' else 'valor3' print “var2:”,var2
  • 13. Operadores corto circuitoOperadores corto circuito ● Javascript: persona = true; if (persona) { var nombre = “Juan Perez”; } var nombre = persona && “Juan Perez”; //nombre = false; if (nombre) { var encargado = nombre; } else { var encargado = "Algún nombre"; } var encargado = nombre || "Algun nombre"; ● Python: persona = True if persona: nombre = 'Juan Perez' nombre = persona and 'Juan Perez' #nombre = False if nombre: encargado = nombre else: encargado = 'Algun nombre' encargado = nombre or 'Algun nombre'
  • 14. IterativosIterativos ● while while x <= 10: print x ● for-in for x in range(10): print x ● break for x in range(10): if x == 2: break ● continue for x in “abac”: if x != “a”: continue nuevo += x
  • 15. Tipos estructuradosTipos estructurados ● Listas lista = [1, '2', ['tres', 4], '5', '6'] for x in lista: print x ● Tuplas tupla = (1, '2', ('tres', 4), '5', '6') for x in tupla: print x ● Diccionarios diccionario = {'clave1': 'valor1', 'clave2': 2, 'subdicc': {'x': 'd'}} for x,y in diccionario.items(): print “%s - %s” % (x, y)
  • 16. Tipo estructurados: operacionesTipo estructurados: operaciones ● Listas: lista[0] = 0 print "lista[0] = 0:",lista lista.append('siete') print "lista.append('siete'):",lista lista.pop() print "lista.pop():",lista lista[2][0] = 3 print "lista[3][0] = 3:",lista print "lista[1]:",lista[1] print "lista[-2]:",lista[-2] print "lista[2:]:",lista[2:] print "lista[-2:1]:",lista[-2:1] print "lista[:2]",lista[:2] print "lista[:-2]",lista[:-2] print "lista[1:4]",lista[1:4] ● Diccionario: diccionario['clave1'] = 'nuevo_valor1' diccionario['subdicc']['x'] = 'new_value_sub_dicc' if 'clave1' in diccionario: print 'si existe'
  • 17. Listas por comprensiónListas por comprensión lista_nueva = [] for x in range(10): if x%2 == 0: lista_nueva.append(x*2) lista_nueva = [x*2 for x in range(10) if x%2 == 0] "lista_nueva:",lista_nueva ● Nota: No recomendable cuando la expresión es complicada.
  • 18. EjerciciosEjercicios ● Evaluar las siguientes expresiones, en el orden adecuado: – a = 'b' – b = a + 'b' – 2 * (a + 'c' + b) ● Dada una cadena ingresada, imprimirla en el orden invertido. ● Devuelve el tamaño de la primera palabra de una oración. ● Imprimir solo los números pares menores que 10 y mayor que 0. ● Dado una cadena ingresada entre mayúsculas y minúsculas, contar el numero de veces que aparece la vocal “a”. ● Sumar todos los impares que se encuentren entre 0 y 10 (incluyendolo). ● Simular un switch case.
  • 19. Listas: operacionesListas: operaciones ● Eliminar del lista[index] ● Fusionar lista = lista + ['x','d'] + ['x','y'] ● Copiar a = [3,4,5,6] b = a a is b => True b = a[:] a is b => False b = list(a) a is b => False ● Comparación [1, 2, 3] == [1, 2] False [1, 2, 3] == [1, 2, 3] True [1, 2, 3] == [1, 2, 4] False [1, 2, 3] < [1, 3, 2] True [10, 20, 30] > [1, 2, 3] True [1, 2, 3] < [1, 2] False
  • 20. Tipos especialesTipos especiales ● Ordenados from collections import OrderedDict markers = OrderedDict() markers['ms123'] = 23.9 markers['mk31'] = 12.8 markers['ms92'] = 32.1 ● Arrays import array miarray = array.array("i", [1,2,3]) miarray.append(4) ● Deque from collections import deque mideque = deque(“abc”) mideque.appendleft('x') mideque.popleft() mideque.extendleft(['x', 'y']) ● Counter from collections import Counter cnt = Counter() for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']: cnt[word] += 1
  • 21. SetsSets ● Definiendo: mi_set = set() mi_set.add('juan') mi_set.add('viki') mi_set.add('nati') otro = set(['juan', 'karina', 'diana']) ● Operaciones: mi_set.intersection(otro) mi_set.union(otro) mi_set.difference(otro) Mas operaciones: http://esintuitivo.blogspot.com/2008/06/conjuntos-en-python.html
  • 22. FuncionesFunciones ● Simple: def funcion_simple(): return “xD” print funcion_simple() ● Parametros: def funcion_parametros(cadena): if cadena is not None: print cadena print funcion_parametros(“funcion parametros”) ● Parametros valores defecto: def funcion_param_default(cadena1, cadena2='cad2', cadena3='cad3'): return cadena1 + “ ” + cadena2 + “ “ + cadena3 print funcion_param_default('micad1', cadena3='micad3')
  • 23. FuncionesFunciones ● Multi params: def funcion_multi_param(cadena1, cadena2='cad2', cadena3='cad3', *args): print "args:",args return cadena1+" "+cadena2+" "+cadena3 print funcion_multi_param('xD', 'micad2', 'micad3', 'micad4', 'micad5') ● Multi key params: def funcion_multi_key_param(cadena1, cadena2='cad2', cadena3='cad3', **kwargs): print "kwargs:",kwargs return cadena1+" "+cadena2+" "+cadena3 print funcion_multi_key_param('xD', 'micad2', 'micad3', cad4='micad4', cad5='micad5')
  • 24. Módulos & PackagesMódulos & Packages ● Módulos: from mimodulo import mifuncion print mifuncion() ● Packages: se crea un archivo __init__.py dentro de una carpeta from mipackage.mimodulo import mifuncion print mifuncion()
  • 26. EjerciciosEjercicios ● De una lista, eliminar los items ingresados por 3 inputs e imprimirlo. ● Acorde a una lista, simular un paginador, 12 items y mostrar 5 por página, cuyo page será ingresado por input, imprimir los items. ● Dado 2 conjuntos, imprimir las 3 operaciones básicas (interseccion, diferencia, unión). ● Escriba una función que devuelva el valor de una raíz cúbica de un valor ingresado. ● Diseñe una función que calcule la multiplicación de todos los números que componen una lista. ● Definir una función que dada una cadena x, devuelva otra cuyo contenido sea el resultado de concatenar 6 veces por si misma. ● Realizar una función que dada una lista de números, devuelva otra lista que sólo incluya sus números impares. ● Cree una estructura de package como si fuese java “src.main.python.com.scytl.platform” e importar un módulo
  • 27. POO: Clase y HerenciaPOO: Clase y Herencia class Humano(object): def saludar(self, para): return "Hola " + para class Persona(Humano): def __pensar(self): return “pensando” def presentarse(self): return "Me llamo "+self.nombre juan_perez = Persona() juan_perez.nombre = "Juan Perez" print juan_perez.saludar("Pepito") print juan_perez.presentarse() juan_perez.__pensar()
  • 28. POO: ConstructoresPOO: Constructores class Humano(object): def saludar(self, para): return "Hola " + para class Persona(Humano): def __init__(self, nombre): self.nombre = nombre def presentarse(self): return "Me llamo "+self.nombre juan_perez = Persona("Juan Perez") print juan_perez.saludar("Pepito") print juan_perez.presentarse()
  • 29. POO: Sobre escritura de métodosPOO: Sobre escritura de métodos class Persona(Humano): def presentarse(self): return "Me llamo "+self.nombre def saludar(self, para): #print "saludar hijo" #return super(Persona, self).saludar(para) return "Saludo para: " + para juan_perez = Persona() juan_perez.nombre = "Juan Perez" print juan_perez.saludar("Pepito") print juan_perez.presentarse()
  • 30. POO: Clases abstractasPOO: Clases abstractas from abc import ABCMeta, abstractmethod class Abstracto(object): __metaclass__ = ABCMeta @abstractmethod def metodo(self): pass class Heredado(Abstracto): def metodo(self): print "heredado" >> x = Abstracto() TypeError: Can't instantiate abstract class Abstracto with abstract methods metodo >> x = Heredado() >> x.metodo() heredado
  • 31. PolimorfismoPolimorfismo class Pajaro(): def desplazar(self): print("Volar") class Vibora(): def desplazar(self): print("Arrastrarse") def mover(animal): animal.desplazar() p = Pajaro() v = Vibora() p.desplazar() v.desplazar() mover(p) mover(v)
  • 32. POO: Atributos especialesPOO: Atributos especiales ● __class__ la clase del objeto. ● __class__.__name__ nombre de la clase. ● __dict__ diccionario con los atributos de la clase ● __str__ invocado al momento de hacer print sobre si o str() ● __len__ se invoca al aplicar la funcion len() ● __repr__ se invoca con la funcion repr() ● __iter__ permite iterar sobre una secuencia, como cuando se usa for sencuencia ● __getitem__ para acceder a un objeto secuencialmente o usando un subíndice tipo objeto[n], requiere 2 parámetros. ● __setitem__ para asignarle el valor a una clave ● __delitem__ implementa el borrado de un objeto Mas: https://docs.python.org/2/reference/datamodel.html
  • 33. POO: Herencia multiplePOO: Herencia multiple class C1(object): def metodo1(self): return "metodo 1" def metodo3(self): return "metodo 3" class C2(object): def metodo2(self): return "metodo 2" def metodo3(self): return "metodo 3.1" class C3(C1,C2): pass objeto = C3() print objeto.metodo1() print objeto.metodo2() print objeto.metodo3()
  • 34. Datos compartidosDatos compartidos class SharedData(object): spam = 42 x = SharedData() y = SharedData() >> print x.spam, y.spam 42, 42 >> x.spam +=1 >> print x.spam, y.spam 43, 42 >> SharedData.spam = 99 >> print x.spam, y.spam 43, 99
  • 35. ExcepcionesExcepciones def fetcher(obj, index): return obj[index] x = 'spam' print fetcher(x, 3) #print fetcher(x, 4) try: fetcher(x, 4) except IndexError: print 'got expception'
  • 36. ExcepcionesExcepciones ● except: captura excepciones que no esten en otro except. ● except name: captura una excepcion específica. ● except name as value: captura una excepcion y la asigna a una variable. ● except (name1, name2): captura cualquiera de las expcepciones listadas. ● except (name1, name2) as value: captura cualquiera y la asigna a una variable. ● else: Se ejecuta si no se presenta ninguna excepcion ● finally: se ejecuta asi se presenten o no excepciones.
  • 37. Excepciones comunesExcepciones comunes Error Descripción RuntimeError Error en el sistema TypeError Error de tipo de dato NameError Variable no existe ValueError Error en casting
  • 38. Excepciones: LevantamientoExcepciones: Levantamiento try: raise IndexError except IndexError: print 'got exception'
  • 39. Excepciones: PersonalizacionExcepciones: Personalizacion class AlreadyGotOne(Exception): pass def grail(): raise AlreadyGotOne() try: grail() except AlreadyGotOne: print 'got exception customized'
  • 40. EjerciciosEjercicios ● Crea una clase, que implemente sus métodos pop, push y devuelva cuantos items quedan en la pila. ● Crear una clase con atributos: nombres, apellidos y dni; que al momento de hacer un print sobre una instancia imprima los atributos mencionados. ● Crea una clase abstracta llamada FiguraGeometrica con los atributos nombre, num_lados y los métodos devolver nombre() y calcular area() y extiendala mediante las clases Rectangulo,Circulo, Triangulo y reimplemente las funciones de la superclase en cada una de las subclases. ● Defina una clase EnsaladaFrutas con una atributo frutas que sea inicialmente ['melones', 'pinas', 'manzanas'] y un atributo raciones cuyo valor inicial sea 4. Escriba un metodo init que recibalos argumentos ingredientes (una lista de cadenas) y num raciones (un entero) y guarde losvalores obtenidos en los atributos y frutas y raciones (las que queden) ● En el ejercicio anterior escriba un metodo agregar() que obtenga una cadena de texto y laagregue al final de la lista frutas. Agregue adem´as un metodo servir() que reduzca en uno la cantidad de raciones e imprima "Disfrute", si ya no hay raciones debe imprimir "Disculpe" ● Escriba un programa que itere sobre una lista utilizando un rango superior a la cantidad deelementos de la lista. Cuando se produzca el error, este debe ser capturado por una excepcion e imprimir sus datos, agregue una sentencia finally que imprima la cantidad de elementos dela lista.