Vous êtes sur la page 1sur 18

Temario

Variables

Listas

Funciones

Diccionarios

Escribir/Leer archivos

Mdulos (importacin)

FOR

IF

Excepciones

Sets

Orientado a Objetos

Clase
Constructor __init__
Variables de clase vs Variables de instancia
Herencia
Hilos o Subprocesos
Variables
mi_variable = 5
verdadero = True
falso = False
nombre = Victor

El valor de las variables puede ser reasignado.

mi_variable = 1
mi_variable = 2 #Y ya vale 2

Comentarios
#Una lnea

Este es un comentario varias lneas

Acceso por desplazamiento


quinta_letra = "MONTY"[4]

usuario = victor

usuario[5]
r

usuario[-1]
o

usuario[2:4]
cto

usuario[1:]
ictor
Mtodos para cadenas de texto

len()

loro = "Azul Noruego"


print len(loro) Impresin: 12

lower()

print loro.lower() Impresin = azul noruego

upper()

print loro.lower() Impresin = AZUL NORUEGO

str()

pi = 3.14159
print str(pi) Impresin = 3.14159
Imprimir en consola

print Hola consola

Tabulador
\t

Imprimir en forma de lista


\t*

Rescatar un carcter
I\m

Cdigo UTF-8
# -*- coding: utf-8 -*-

Recibir datos
age = raw_input("Cual es tu edad? ")

Recibir datos desde consola con argv


rom sys import argv

user_name = argv

print "Hi %s, I'm computer." % (user_name)

Concatenacin

print "Una " + "prueba"

Formateo de strings con %

camelot = "Camelot"
lugar = "lugar"
print "No vayamos a %s. Es un %s tonto." % (camelot, lugar)

Funciones incorporadas
max()

mayor = max(1,3,2)
print mayor

min()

mayor = min(1,3,2)
print mayor

abs()

absoluto = abs(-10)
print absoluto

type() -> Retorna el tipo de los datos

print type(42)
print type(4.2)
print type('jamon')
print type({'Nombre':'John Cleese'})
print type((1,2))

Imprime:

<type 'int'>
<type 'float'>
<type 'str'>
<type 'dict'>
<type 'tuple'>

Ordenar elementos

sort()

mi_lista.sort()
Listas

nombre_de_lista = [elemento1, elemento2]


o
lista_vacia = []
Acceso mediante ndices
nombre_de_lista[ndice]
o
nombre_de_lista[0]

Aadir elementos a una lista

append()

maletin = []

maletin.append("gafas")
Longitud de una lista

len(maletin)

Particionado de listas
mi_lista = [0, 1, 2, 3]

mi_porcion = mi_lista[1:3]

print mi_lista
#mostrar [0, 1, 2, 3]

print mi_porcion
#mostrar [1, 2]

Buscar ndice a travs de una lista

index()

mi_lista.index("dog")

Insertar un elemento a la lista

insert()

mi_lista.insert(4,"cat")

Ejemplo

animales = ["cerdo hormiguero", "tejon", "pato", "emu", "zorro del desierto"]

indice_pato = animales.index("pato")

animales.insert(indice_pato,"cobra")

Funciones
Ejemplo 1

def funcion():
"""Documentacion"""
print "Hola mundo!"

funcion()

Ejemplo 2

def cuadrado(n): n -> parmetro


al_cuadrado = n**2
print "%d al_cuadrado es %d." % (n, al_cuadrado)
return al_cuadrado

cuadrado(10) 10 -> Argumento

Ejemplo 3

def potencia(base, exponente):


resultado = base**exponente
print "%d a la %d potencia es %d." % (base, exponente, resultado)

potencia(37,4)

Ejemplo 4 - Argumentos mltiples

def actores_favoritos(*actores):
print "Tus actores favoritos son:" , actores

actores_favoritos("Michael Palin", "John Cleese", "Graham Chapman")


Funciones que llaman funciones

def amor_con_amor(n):
return n + 1

def se_paga(n):
return amor_con_amor(n) + 2

Parmetros predeterminados
def tomar_genero(sexo=Desconocido):
if sexo is m:
sexo = Hombre
elif sexo is f
sexo = Mujer

print(sexo)

tomar_genero(m) Imprime hombre


tomar_genero(f) Imprime mujer
tomar_genero() Imprime desconocido

Ingresar un parmetro especfico

def oracion(nombre='Victor', accion='Juega',objeto='xbox'):


print(nombre, accion, objeto)

oracion()
oracion("Omar","Estudia","ML")
oracion(objeto='PS4')

Parmetros indefinidos
def agregar_numeros(*args):
total = 0
for numero_agregado in args:
total += i
print(total)

agregar_numeros(3)
agregar_numeros(21,25)
agregar_numeros(1,2,3,4,5)

Parmetros provenientes de una lista

datos_victor = [25, 85, 1.85]

medir_salud(datos_victor[0], datos_victor[1], datos_victor[2])


medir_salud(*datos_victor)

Diccionarios
Ejemplo 1

companeros = {'Victor': 'agradable y listo', 'Paulina': 'bonita pero indiferente', 'Liliana':


'Maravillosa y sorprendente'}

print(companeros)
print(companeros['Liliana'])

Ejemplo 2

companeros = {'Victor': 'agradable y sincero', 'Paulina': 'bonita pero indiferente',


'Liliana': 'Maravillosa y sorprendente'}

for k,v in companeros.items():


print(k+v)

Puedes acceder a los valores buscando una clave en vez de un ndice. Una clave puede ser cualquier string
o nmero.

d = {'clave1' : 1, 'clave2' : 2, 'clave3' : 3}

Ejemplo

# Asignacin de un diccionario con tres pares clave-valor a `residentes`


residentes = {'Frailecillo' : 104, 'Perezoso' : 105, 'Piton de Birmania' : 106}

print residentes['Frailecillo'] # Muestra el nmero de habitacin del frailecillo

Nueva entrada en un diccionario


nombre_diccionario[clave_nueva] = valor_nuevo

Ejemplo

menu = {}

menu['Pollo Alfredo] = 14.50 #Se aade un nuevo par clave-valor

Eliminar elementos (en base a la clave)

del nombre_diccionario[nombre_clave]

Ejemplo

zoo_animals = { 'Unicornio' : 'Casa de algodon de azucar',


'Perezoso' : 'Exhibicin del bosque tropical',
'Tigre de Bengala' : 'Casa en la jungla'}

# Se elimina la entrada 'Unicornio'


del zoo_animals['Unicornio']
Remover elemento (en base al valor)

mi_lista.remove(valor)

inventario['morral'].remove('daga')
Escribir un archivo

Esto va a crear el archivo ejemplo.txt en el mismo directorio. Y va a escribir.

fw = open('ejemplo.txt', 'w')

fw.write('Escribiendo algo de prueba\n')


fw.write('Aqui le sigo\n')
fw.close()

Leer un archivo

Para abrir un archivo, va a crear una variable temporal (en este caso texto).

fr = open('ejemplo.txt', 'r')
texto = fr.read()
print(texto)
fr.close()

Leyendo y escribiendo archivos.

Ejemplo

from sys import argv

script, filename = argv

texto = open(filename)

print "Aqui esta tu archivo %r: " %filename


print texto.read()

print "Ingresa el nombre del archivo de nuevo:"


file_again= raw_input("> ")

txt_again = open(file_again)

print txt_again.read()
close

Funciones principales con archivos.

read

readline

truncate (Vaca el archivo)

write('algo')
Mdulos

Tengo un archivo llamado archivo2.py en la misma carpeta que archivo1.py

import archivo2

archivo2.acomodar()

Importacin genrica

import math

print math.sqrt(25)

Importacin de funcin
Extraer una sola funcin desde un mdulo

from modulo import funcin

from math import sqrt

Importaciones universales
(No recomendado)

from modulo import *

from math import *

Mostrar todas las funciones disponibles en un mdulo


import math

todo = dir(math)

print todo
FOR
for variable in nombre_de_lista:
# Haz algo!

Ejemplo

mi_lista = [1,9,3,8,5,7]

for numero in mi_lista:


print 2 * numero

Imprime: 193857

nombres = ["Adam","Alex","Mariah","Martine","Columbus"]

for nombre in nombres:


print nombre
IF

if (expresion):

codigo

else:

cdigo

ELIF
if (expresion1):

cdigo

elif (expresion2):

cdigo

else:

cdigo
Excepciones
while True:
try:
numero = int(input("Cual es tu numero favorito?"))
print(numero)
break
except ValueError:
print("Asegurate de ingresar un numero")
except ZeroDivisionError:
print("No elijas el cero")
except #No recomendada
break
finally #Hacer esto, sin importar que haya sido correcto no.
print("Loop completado")

Sets
despensa = {cereal, leche, arandanos}

if leche is despensa:
print("Ya tienes leche")
else:
print("Te falta la leche")
Orientado a Objetos

Clase
clase Enemigo:

vida = 3

def ataque_recibido(self):
print("Ouch!")
self.vida -= 1

def verVida(self):
if self.life <= 0:
print("No la libre!")
else:
print("Le queda " + str(self.life) + " puntos de vida")

troll1 = Enemigo()
troll2 = Enemigo()

troll1.ataque_recibido()
troll1.ataque_recibido()
troll1.verVida()
troll2.verVida()
Constructor __init__

Mtodos que se ejecutarn inicialmente al crear un objeto.

class Enemigo:

def __init__(self,x):
self.energia = x

def ver_energia(self):
print(self.energia)

troll1 = Enemigo(10)
troll2 = Enemigo(5)

troll1.ver_energia()
troll2.ver_energia()

Variables de clase vs Variables de instancia

class Chica:

genero = "Femenino"

def __ini__(self,nombre):
self.nombre = nombre

liliana = Chica("Liliana Castro")


linda = Chica("Linda Franco")

print(liliana.genero) #Imprime Femenino


print(liliana.nombre) #Liliana Castro
print(linda.nombre) #Linda Franco
Herencia
class Padre():

def imprime_apellido(self):
print("Minero")

class Hijo(Padre): #Especifico de dnde va a heredar.

def imprime_nombre(self):
print("Victor")

def imprime_apellido(self): #Aqu sobreescribo la funcin


print("Cruz")

yo = Hijo()

yo.imprime_nombre()
yo.imprime_apellido()

Herencia Mltiple
class Mario():

def mover(self):
print("Me estoy moviendo!")

class Hongo():

def comer_hongo(self):
print("Ahora soy grande!")

class MarioGrande(Mario,Hongo):
pass

mario_grande = MarioGrande()

mario_grande.mover()
mario_grande.comer_hongo()

Hilos o subprocesos
import threading

class Mensajero(threading.Thread):

def run(self): #Debe haber una funcin llamada run


for _ in range(10): #Si slo quiero hacer el ciclo sin importar la variable
print(threading.currentThread().getName())

x = Mensajero(name='Enviando mensaje') #name es un parmetro forzoso


y = Mensajero(name='Recibiendo mensaje')

x.start() #Con start() activo la funcion run() en la clase


y.start()
Lambda
respuesta = lambda numero: numero*5

print(respuesta(5)) #Imprime 25

Vous aimerez peut-être aussi