In [1]:
2 + 2
Out[1]:
In [2]:
(50 + 30) * 5
Out[2]:
In [3]:
7 / 2
Out[3]:
In [4]:
7 % 3
Out[4]:
In [5]:
8271620372012 ** 16
Out[5]:
In [6]:
3 * 4.5 / 2.9
Out[6]:
In [7]:
27 / 4.2
Out[7]:
In [8]:
from decimal import Decimal
dos = Decimal(2)
dos.sqrt()
Out[8]:
In [9]:
from decimal import getcontext
getcontext().prec = 55
dos.sqrt()
Out[9]:
In [10]:
0xb
Out[10]:
In [11]:
hex(11)
Out[11]:
In [12]:
0b101
Out[12]:
In [13]:
bin(4)
Out[13]:
In [14]:
0o10
Out[14]:
In [15]:
oct(8)
Out[15]:
In [16]:
"Un «string» es una cadena de caracteres"
Out[16]:
In [17]:
"""Que el código que escribimos funcione, es una excepción.
-- Manuel Kaufmann"""
Out[17]:
In [18]:
"Me gusta decir 'Dale' para confirmar"
Out[18]:
In [19]:
"¡Quiero usar \"la misma\" comilla dentro de la cadena!"
Out[19]:
In [20]:
"Hola" + " mundo!"
Out[20]:
In [21]:
"Eco " * 5
Out[21]:
In [22]:
len("¿cuánto mide esta cadena?")
Out[22]:
In [23]:
"Camión y moño expresado en UTF-8".encode('utf-8')
Out[23]:
In [24]:
'¿Cuántas a tiene esta cadena?'.count('a')
Out[24]:
In [25]:
frase = "¡Hola mundo!"
frase
Out[25]:
In [26]:
frase[1]
Out[26]:
In [27]:
frase[-3]
Out[27]:
In [28]:
frase[1:5]
Out[28]:
In [29]:
frase[6:]
Out[29]:
In [30]:
frase[6:-1]
Out[30]:
In [31]:
frase_con_espacios = '¡ H o l a M u n d o !'
frase_con_espacios
Out[31]:
In [32]:
frase_con_espacios[::2]
Out[32]:
In [33]:
lista = [2, 'auto', 5.32, Decimal(2)]
lista
Out[33]:
In [34]:
lista[2]
Out[34]:
In [35]:
lista[-1]
Out[35]:
In [36]:
lista[:-2]
Out[36]:
In [37]:
lista + [125, 'camión']
Out[37]:
In [38]:
lista[1] = "bicicleta"
lista
Out[38]:
In [39]:
lista[1] = ['auto', 'moto', "bicicleta", 'camión']
lista
Out[39]:
In [40]:
del lista[2]
lista
Out[40]:
In [41]:
vehiculos = lista[1]
vehiculos
Out[41]:
In [42]:
vehiculos.sort() # in place
vehiculos
Out[42]:
¿Se modificó la variable "lista"?
In [43]:
lista[1]
Out[43]:
¿Porqué sucede esto?
In [44]:
vehiculos.index('camión')
Out[44]:
In [45]:
vehiculos.append('patineta')
vehiculos
Out[45]:
In [46]:
numeros = {1, 2, 3, 4, 1, 5, 2, 7, 2, 4, 6}
numeros
Out[46]:
In [47]:
otros_numeros = {4, 7, 1, 9, 2, 8}
In [48]:
otros_numeros.update([5, 6, 5, 3, 1, 6, 9]) # in place
otros_numeros
Out[48]:
In [49]:
numeros.intersection(otros_numeros)
Out[49]:
In [50]:
numeros & otros_numeros
Out[50]:
In [51]:
numeros.union(otros_numeros)
Out[51]:
In [52]:
numeros | otros_numeros
Out[52]:
In [53]:
numeros.difference(otros_numeros)
Out[53]:
In [54]:
numeros - otros_numeros
Out[54]:
In [55]:
diccionario = {'entero': 1, 'lista': ['cadena', 92, 4.2], 3: 'tres'}
diccionario
Out[55]:
Las llaves pueden ser cualquier objeto inmutable
In [56]:
otro_diccionario = {3.4: 'tres punto cuatro', 2000: 'dos mil', (3, 4): 'version de Python'}
otro_diccionario
Out[56]:
In [57]:
otro_diccionario[(3, 4)]
Out[57]:
In [58]:
otro_diccionario[3.4]
Out[58]:
In [59]:
del diccionario['lista']
diccionario
Out[59]:
In [60]:
'entero' in diccionario
Out[60]:
In [61]:
diccionario.keys()
Out[61]:
In [62]:
diccionario.values()
Out[62]:
In [63]:
diccionario.items()
Out[63]:
In [64]:
diccionario.get(3)
Out[64]:
In [65]:
diccionario.get(42, 'No tenemos esa *key*')
Out[65]:
In [66]:
diccionario.pop('entero')
Out[66]:
In [67]:
diccionario
Out[67]:
if <condicion>:
<hago algo>
In [68]:
condicion = True
if condicion:
print('Hago algo')
In [69]:
# Test de mayoría de edad
edad = 19
if edad >= 20:
print('Te puedo vender alcohol')
elif 18 <= edad <= 20:
print('Andá a Argentina que podés tomar alcohol con 18')
else:
print('Volvé el año que viene')
In [70]:
if 'lista' in diccionario:
print('El diccionario tiene el elemento "lista"')
else:
print('No encontramos ese elemento')
In [71]:
color = input('¿Qué color te gusta?: ')
if color == 'rojo' or color == 'verde':
print('A mi también')
else:
print('Qué feo ese color!')
In [72]:
color = input('¿Qué color te gusta?: ')
colores = ['rojo', 'amarillo', 'violeta', 'azul', 'verde', 'turquesa']
if color in colores:
if color == 'rojo' or color == 'verde':
print('A mi también')
else:
print('Qué feo ese color!')
else:
print('Ese no es un color válido')
for <elemento> in <iterable>:
<hago algo>
In [73]:
vehiculos
Out[73]:
In [74]:
for vehiculo in vehiculos:
print('Transporte: ' + vehiculo.capitalize())
In [75]:
# obteniendo cuadrados
for numero in range(1, 7):
print(numero ** 2)
In [76]:
for numero in range(1, 7):
if numero == 3:
continue # ¿qué pasa si pongo un "break" acá?
print(numero ** 2)
else:
print('Termino sin ningún "break"')
while <condicion>:
<hago algo>
In [77]:
edad = 12
while edad < 18:
print('No te puedo vender alcohol')
edad += 1
print('Cumpliste la mayoría de edad: {} años'.format(edad))
In [78]:
respuesta_correcta = 36
respuesta_usuario = int(input('¿Cuánto es 6^2?: '))
while respuesta_usuario != respuesta_correcta:
respuesta_usuario = int(input('Error. Intenta de nuevo: '))
print('Felicitaciones! La respuesta correcta es: {}'.format(respuesta_correcta))
try:
<codigo que "puede" fallar>
except <excepcion>:
<codigo que maneja esa excepcion>
In [80]:
17 / 0
In [81]:
try:
print(17 / 0)
except ZeroDivisionError:
print('No se puede dividir un número por 0')
Podemos generar nuestra propias excepciones
In [82]:
raise ValueError('Mensaje de error')
def <nombre funcion>(<argument 1>, <argumento 2>, ...):
<codigo de la funcion>
In [83]:
def alcubo(numero):
return numero ** 3
In [84]:
alcubo(3)
Out[84]:
Objetos
In [85]:
alcubo(27)
Out[85]:
In [86]:
alcubo
Out[86]:
In [87]:
f = alcubo
f(3)
Out[87]:
Flexibilidad en los argumentos
In [88]:
def ordenar_lista(l, ascendente=True):
resultado = sorted(l)
if not ascendente:
resultado = list(reversed(resultado))
return resultado
lista = [3, 5, 1, 7, 12, 7, 4]
ordenar_lista(lista)
Out[88]:
In [89]:
ordenar_lista(lista, True)
Out[89]:
In [90]:
ordenar_lista(lista, ascendente=False)
Out[90]:
In [91]:
def multiplica_elementos(*args):
resultado = 1
for elemento in args:
resultado *= elemento
return resultado
multiplica_elementos(3, 4, 5, 2, 8) # cantidad de argumentos indefinda
Out[91]:
In [92]:
multiplica_elementos(3, 9)
Out[92]:
In [93]:
def suma_dos_numeros(a, b):
return a + b
numeros = [4, 6]
suma_dos_numeros(*numeros)
Out[93]:
In [94]:
import math
class Punto2D(object):
def __init__(self, x, y):
self.x = x
self.y = y
def distancia(self):
"""Distancia al punto desde (0,0)"""
distancia = math.sqrt(self.x ** 2 + self.y ** 2)
return distancia
In [95]:
p1 = Punto2D(3, 4)
p1.x
Out[95]:
In [96]:
p1.distancia()
Out[96]:
In [97]:
p2 = Punto2D(7, 12)
p2.y
Out[97]:
In [98]:
%%file punto.py
import math
class Punto2D(object):
def __init__(self, x, y):
self.x = x
self.y = y
def distancia(self):
"""Distancia al punto desde (0,0)"""
distancia = math.sqrt(self.x ** 2 + self.y ** 2)
return distancia
In [99]:
import punto
p3 = punto.Punto2D(5, 3)
p3.distancia()
Out[99]:
In [100]:
import mipaquete.modulo
print(mipaquete.modulo.FRASE)
In [101]:
from mipaquete import modulo
print(modulo.FRASE)
In [102]:
from mipaquete.modulo import FRASE
print(FRASE)