0% encontró este documento útil (0 votos)
115 vistas46 páginas

Taller Python

Este documento introduce el lenguaje de programación Python describiendo sus características, instalación e introduciendo conceptos básicos como variables, tipos de datos, cadenas, listas y más.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
115 vistas46 páginas

Taller Python

Este documento introduce el lenguaje de programación Python describiendo sus características, instalación e introduciendo conceptos básicos como variables, tipos de datos, cadenas, listas y más.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 46

Introducción al lenguaje Python

Roberto Abalde
rabalde@economicas.uba.ar
Roberto Abalde
• Lic. en Ciencias de la
Computación (FCEN, UBA) +
MBA (ESADE, Barcelona) +
Mágister en Data Mining
(FCEN, UBA) + Doctorando
(FCE, UBA)
• Profesor regular adjunto (FCE,
UBA) y regular asociado (UADE)
• Consultor + emprendedor +
malcriador de perros
Python: Descripción
• Creado por Guido van Rossum en
1989. Nombre viene de Monty
Python
• Lenguaje de alto nivel,
interpretado, dinámico
• Soporta múltiples paradigmas
(imperativo, procedural, orientado
a objetos, funcional)
• Corre en todos los sistemas
operativos

Introducción al lenguaje Python 3


Python: Ranking IEEE

Fuente: The 2016 Top Programming Languages


http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages

Introducción al lenguaje Python 4


Python: Analítica/Ciencia de datos

Fuente: KDnuggets 2016 Software Poll Results


http://www.kdnuggets.com/2016/06/r-python-top-analytics-data-mining-data-
science-software.html

Introducción al lenguaje Python 5


Instalación
• Python 3: http://python.org
– Pueden usar la versión 2.7 con algunas
modificaciones en el código
• Notepad++: https://notepad-plus-plus.org
– O cualquier otro editor orientado a programación
– Geany, VisualStudio, Spyder…

Introducción al lenguaje Python 6


Intérprete interactivo
$ python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for
more information.
>>> 3*(7+2)
27
>>> CTRL+D
$

Introducción al lenguaje Python 7


Editar y ejecutar programas
• Crear un programa en un archivo y ejecutarlo

F5

• O ejecutar “python3 test_1.py” en la línea de


comandos
Introducción al lenguaje Python 8
Ejercicio 1
1. Iniciar el intérprete interactivo
2. Escribir print(“hola mundo!”) + enter
3. Ver el resultado

4. Crear el archivo hola.py en el editor


5. Escribir print(“hola mundo!”) + enter
6. Ejecutarlo y ver el resultado

Introducción al lenguaje Python 9


Variables
>>> a = 2
>>> a
2
>>> c = 12.3
>>> c
12.3
>>> a + b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'b' is not defined
>>>

Introducción al lenguaje Python 10


Comentarios
>>> a = 12
>>> a
12
>>> # Esta línea y la siguiente son ignoradas
>>> # a = 15
>>> a
12

Introducción al lenguaje Python 11


Números enteros
>>> e = 13 >>> e**2 # elevado al
>>> e+2 # suma cuadrado
15 169
>>> e%2 # módulo (resto)
>>> e-2 # resta 1
11 >>> e//2 # división entera
>>> e/2 # división 6
6.5
>>> e*2 # multiplicación
26

Introducción al lenguaje Python 12


Números flotantes
>>> f = 1421.98 >>> e**2 # elevado al
>>> f+2 # suma cuadrado
1423.98 2022027.1204000001
>>> e%2 # módulo (resto)
>>> f-2 # resta 1.9800000000000182
1419.98 >>> e//2 # división entera
>>> f/2 # división 710.0
710.99
>>> f*2 # multiplicación
>>> # OJO!
2843.96 >>> 3+2*8
19
>>> (3+2)*8
40

Introducción al lenguaje Python 13


Números complejos (!)
>>> c = 3+2j >>> e**2 # elevado al
>>> c+2 # suma cuadrado
(5+2j) (5+12j)
>>> c-2 # resta
(1+2j)
>>> c/2 # división
(1.5+1j)
>>> c*2 # multiplicación
(6+4j)

Introducción al lenguaje Python 14


Cadenas de caracteres
>>> h = "hola " >>> # longitud
>>> m = 'mundo!' >>> len(m)
6
>>> # operaciones >>> # mayúsculas
>>> h + m >>> h + m.upper()
'hola mundo!' 'hola MUNDO!'
>>> h*2 + m >>> # minúsculas
'hola hola mundo!' >>> 'CHAU MUNDO!'.lower()
'chau mundo!'
>>> # título
>>> h + m.title()
'hola Mundo!'

Introducción al lenguaje Python 15


Más funciones
>>> # formateo
>>> "La {0} de 1 + 2 es {1}".format("suma",1+2)
'La suma de 1 + 2 es 3‘
>>> # split
>>> '1 2 3'.split()
['1', '2', '3']
>>> '1;2;3'.split(';')
['1', '2', '3']
>>> # startswith, endswith
>>> 'homero'.startswith('hom')
True
>>> 'homero'.endswith('mer')
False

Introducción al lenguaje Python 16


Conversión entre tipos de datos
>>> 3*12.0, 3.0*12
(36.0, 36.0)
>>> str(3)
'3'
>>> str(3) + ' elefantes'
'3 elefantes'
>>> float('12.3')
12.3
>>> float('12.3') * 10
123.0
>>> int('-23') + (float('12.3') * 10)
100

Introducción al lenguaje Python 17


Booleanos
>>> 20 < 30 >>> True and False
True False
>>> 20 > 30 >>> True or False
True
False >>> not False
>>> 20 == 30 True
False
>>> 20 != 30 >>> 3 == True
True True
>>> 3 == False
>>> a = False False
>>> >>> 0 == False
True
>>> 0 == True
False

Introducción al lenguaje Python 18


Ejercicio 2
• Definir las variables
– “cantidad” con el valor 10
– “precio” con el valor 21.5
– “producto” con el valor “vasos”
• Usando las variables imprimir
“10 VASOS de $ 21.5 cada uno suma un total
de $215”

Introducción al lenguaje Python 19


Listas (1)
>>> # lista vacía
>>> simpson = []
>>> # agregar un ítem
>>> simpson.append('homero')
>>> simpson
['homero']
>>> # agregar una lista
>>> simpson.extend(['marge', 'bart', 'lisa',
'maggie'])
>>> simpson
['homero', 'marge', 'bart', 'lisa', 'maggie']
>>> # cantidad de ítems
>>> len(simpson)
5

Introducción al lenguaje Python 20


Listas (2)
>>> simpson = ['homero', 'marge', 'bart', 'lisa',
'maggie']
>>> # acceso a los ítems de a uno
>>> simpson[0], simpson[1], simpson[-1]
>>> ('homero', 'marge', 'maggie')
>>> # acceso a los ítems por rango
>>> simpson[1:3]
>>> ['marge', 'bart']
>>> simpson[2:]
>>> ['bart', 'lisa', 'maggie']
>>> simpson[:-2]
>>> ['homero', 'marge', 'bart']

Introducción al lenguaje Python 21


Listas (3)
>>> # asignación de ítem
>>> simpson[0] = 'Homero'
>>> simpson
['Homero', 'marge', 'bart', 'lisa', 'maggie']
>>> # ver si un ítem está en la lista
>>> 'ayudante de santa' in simpson
False
>>> 'bart' in simpson
True
>>> # en qué posición está lisa?
>>> simpson.index('lisa')
2

Introducción al lenguaje Python 22


Listas (4)
>>> # ordenar ítems
>>> simpson.sort()
>>> simpson
['Homero', 'ayudante de santa', 'bart', 'lisa',
'maggie', 'marge']
>>> # dar vuelta lista
>>> simpson.reverse()
>>> simpson
['marge', 'maggie', 'lisa', 'bart', 'ayudante de
santa', 'Homero']

Introducción al lenguaje Python 23


Listas (5)
>>> # borrar ítem por índice
>>> del simpson[-1]
>>> simpson
['marge', 'maggie', 'lisa', 'bart', 'ayudante de
santa']
>>> # borrar ítem por contenido
>>> simpson.remove('ayudante de santa')
>>> simpson
['marge', 'maggie', 'lisa', 'bart']
>>> # insertar ítem en un índice
>>> simpson.insert(1, 'homero')
>>> simpson
['marge', 'homero', 'maggie', 'lisa', 'bart']

Introducción al lenguaje Python 24


Listas (6)
>>> uno_a_siete = [1,2,3,4,5,6,7]
>>> # funciones numéricas
>>> sum(uno_a_siete), max(uno_a_siete),
min(uno_a_siete)
28, 7, 1
>>> # cadenas de caracteres como listas
>>> hm = "hola mundo!"
>>> hm[1]
'o'
>>> "hola" in hm
True

Introducción al lenguaje Python 25


Ejercicio 3
• Crear una lista vacía
• Agregarle las materias del CBC (para la
exactas)
• Modificarla para que sean las materias de
económicas
• Ordenarla

Introducción al lenguaje Python 26


Tuplas
>>> colores = ('rojo', 'verde', 'azul')
>>> colores[0]
'rojo‘
>>> # las tuplas no se pueden modificar
>>> colores.append('violeta')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute
'append'

Introducción al lenguaje Python 27


Conjuntos
>>> frutas = {'pera', 'manzana', 'naranja'}
>>> 'manzana' in frutas
True
>>> # no tienen valores repetidos
>>> frutas.add('pera')
>>> frutas
{'manzana', 'naranja', 'pera'}
>>> # operaciones
>>> frutas | {'uva'} # unión
{'pera', 'uva', 'manzana', 'naranja'}
>>> frutas & {'pera', 'uva'} # intersección
{'pera'}

Introducción al lenguaje Python 28


Diccionarios
>>> telefonos = {'ana': 2541, 'pedro': 3323, 'raul':
8323}
>>> telefonos['pedro']
3323
>>> 'ana' in telefonos
True
>>> telefonos.keys()
dict_keys(['raul', 'ana', 'pedro'])
>>> telefonos.items()
dict_items([('ana', 2541), ('raul', 8323), ('pedro',
3323)])

Introducción al lenguaje Python 29


Ejercicio 4
• Crear un diccionario vacío
• Agregarle cuatro ciudades
– Clave: nombre
– Valor: tupla con (latitud, longitud)
• Buscar una ciudad que esté en el diccionario y
una que no esté

Introducción al lenguaje Python 30


if
>>> x = int(input("Ingrese un número entero: "))
Ingrese un número entero: 42
>>> if x == 0:
... print('Cero')
... elif x%2 == 0: # else + if
... print('Es par')
... else:
... print('Es impar')
...
Es par

Introducción al lenguaje Python 31


for (1)
>>> simpson = ['homero', 'marge', 'bart', 'lisa',
'maggie']
>>> for s in simpson:
... print(s, len(s))
...
homero 6
marge 5
bart 4
lisa 4
maggie 6

Introducción al lenguaje Python 32


for (2)
>>> for i in range(5): >>> for i in range(2, 7):
... print(i) ... print(i)
... ...
0 2
1 3
2 4
3 5
4 6
7

Introducción al lenguaje Python 33


for (3)
>>> for n in range(2, 10):
... for x in range(2, n):
... if n % x == 0:
... print(n, 'es igual a', x, '*', n//x)
... break
... else:
... # se terminó el ciclo sin encontrar un factor
... print(n, 'es primo')
...
2 es primo
3 es primo
4 es igual a 2 * 2
5 es primo
6 es igual a 2 * 3
7 es primo
8 es igual a 2 * 4
9 es igual a 3 * 3

Introducción al lenguaje Python 34


for (4)
>>> for num in range(2, 9):
... if num % 2 == 0:
... print(num, "es un número par")
... continue
... print(num, "es otro número")
2 es un número par
3 es otro número
4 es un número par
5 es otro número
6 es un número par
7 es otro número
8 es un número par

Introducción al lenguaje Python 35


while
>>> x = 77
>>> while x > 0:
... print(x)
... x = x // 2
...
77
38
19
9
4
2
1

Introducción al lenguaje Python 36


Ejercicio 5
• Definir…
– Una lista con los nombres de 5 amigos
– Un diccionario con los teléfonos de 3 amigos
• Imprimir…
– El nombre y teléfono de los amigos de los que
tengo el teléfono
– El mensaje “pedir el telófono a” + el nombre del
amigo

Introducción al lenguaje Python 37


Funciones
# calcula la serie de Fibonacci hasta n
>>> def fib(n):
... a = 0
... b = 1
... serie = []
... while b < n:
... serie.append(b)
... a = b
... b = a+b
... return(serie)
>>> fib(10)
[1, 2, 4, 8]

Introducción al lenguaje Python 38


Módulos
>>> # si la función fib está en el archivo
>>> # fibo.py en el mismo directorio
>>> import fibo
>>> fibo.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

>>> # si la función fib está en el archivo


>>> # fibo.py en el directorio fibonacci
>>> from fibonacci import fibo
>>> fibo.fib(10)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

Introducción al lenguaje Python 39


Módulos estándar
>>> # muchísimos módulos vienen con python
>>> # https://docs.python.org/3/library/index.html
>>> import math
>>> math.pi
3.141592653589793
>>> math.cos(math.pi)
-1.0

>>> import random


>>> random.random()
0.05294065656030844
>>> random.random()
0.6326583487999123

Introducción al lenguaje Python 40


Archivos, lectura
>>> f = open('entrada.txt', 'r')
>>> f.read()
'Me verás volar\nPor la ciudad de la furia\nDonde
nadie sabe de mí\nY yo soy parte de todos\n\nNada
cambiará\nCon un aviso de curva\n...' # sigue

>>> f = open('entrada.txt', 'r')


>>> f.readline()
'Me verás volar\n'
>>> f.readline().strip()
'Por la ciudad de la furia‘
>>> f.close()

Introducción al lenguaje Python 41


Archivos, escritura
>>> f = open('salida.txt', 'w')
>>> # devuelve la cantidad de caracteres escritos
>>> f.write('La espera me agotó\n')
18
>>> f.write('no sé nada de vos\n')
17
>>> f.close()

Introducción al lenguaje Python 42


Ejercicio 6
• Leer el archivo “entrada.txt”
• Poner en mayúsculas las palabras con menos
de 3 caracteres y en minúsculas el resto
• Escribir todo en “salida.txt”

Introducción al lenguaje Python 43


Extra: Objetos (1)
class Perro:
def __init__(self, nombre):
self.nombre = nombre
self.trucos = []

def agregar_truco(self, truco):


self.trucos.append(truco)

def ladrar(self):
print('guau! guau!')

Introducción al lenguaje Python 44


Extra: Objetos (2)
>>> d = Dog('Fido')
>>> d.agregar_truco('vueltita')
>>> d.trucos
['vueltita']
>>> d.ladrar()
'guau! guau!'

Introducción al lenguaje Python 45


¿Preguntas?

Introducción al lenguaje Python 46

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy