0% encontró este documento útil (0 votos)
32 vistas

Py00 Pres Intro

Este documento presenta la organización y agenda de un curso de introducción a Python. El curso tendrá una duración de 13 clases entre julio y septiembre, con clases teóricas los lunes y prácticas los miércoles. La evaluación consistirá en un trabajo grupal obligatorio. El objetivo principal del curso es introducir los elementos básicos de Python para cursos posteriores.

Cargado por

Carlos Grandillo
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)
32 vistas

Py00 Pres Intro

Este documento presenta la organización y agenda de un curso de introducción a Python. El curso tendrá una duración de 13 clases entre julio y septiembre, con clases teóricas los lunes y prácticas los miércoles. La evaluación consistirá en un trabajo grupal obligatorio. El objetivo principal del curso es introducir los elementos básicos de Python para cursos posteriores.

Cargado por

Carlos Grandillo
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/ 50

Curso de Python 2023

Presentación e Introducción
Agenda

❑ Organización del Curso


❑ Introducción a Python
❑ Variables y Tipos de Datos
❑ Entradas y Salidas

Ver el ibro de Kong de Python


programming, en la biblioteca de CN
Organización del
Curso
Organización

Docentes: Dr. Ing. P. Ortiz Bochard


[email protected]

Duración (13 clases)


Fecha de inicio: Lunes 31 de Julio de 2023
Fecha de fin: Miércoles 06 de Setiembre de 2023 (defensa)

Horarios de Clase
Teóricos. Lunes de 18 a 19:45 hrs.
Prácticos. Miércoles de 18 a 19:45 hrs.
Jul.-23 Curso Python 4
Evaluación y Asistencia

Evaluación
• Trabajo Obligatorio grupal: 100 pts. (mínimo 50)

Asistencia
• 50% de asistencia a clases

Jul.-23 Curso Python 5


Objetivos y Alcance

1. El Diploma no exige conocimientos de programación


2. Por tanto, se trata de un curso de Introducción a Python
3. El objetivo principal es enfocar, orientar e introducir los
elementos necesarios (comandos, funciones, bibliotecas, etc.),
para los cursos siguientes en el multiverso de Python
4. Se requiere una cuota adicional (búsqueda, ampliación y
profundización de información) por cuenta propia para lograr una
acabada comprensión de los temas
5. Se requiere adicionalmente un tiempo promedio de 6-8 hrs.
semanales de trabajo extra (variando según formación en
programación, cantidad de integrantes, proyecto elegido, etc.)

Jul.-23 Curso Python 6


Objetivos y Alcance (cont)

6. En caso de que seleccionen proyectos relacionados a


Machine Learning, tener en cuenta que este tema se da en
la última clase (solo una introducción, ya que hay cursos
posteriores que lo profundizan), por tanto, en caso de optar
por estos proyectos considere tiempo de auto-aprendizaje
adicional.

7. Los proyectos propuestos para el trabajo grupal varían en


complejidad (tres clases), y en consecuencia en el rango de
calificación. Se explicará con mayor detalle cuando se
presenten los proyectos.

Jul.-23 Curso Python 7


Recursos

• Sitio oficial: http://www.python.org


• Python 3 documentation : https://docs.python.org/3/
• Dive into Python 3: http://www.diveintopython3.net/
• Los paquetes numéricos numpy, matplotlib y otros puede ser
bajados de http://pypy.python.org (the Python package
index)
• PEP 8-Style Guide for Python Code:
https://www.python.org/dev/peps/pep-0008/
• … e Internet, la principal!

Jul.-23 Curso Python 8


Introducción a
Python
Python

• Python es un lenguaje software


libre
• Desarrollado por Guido van
Rossum en los comienzos de los
90’s
• Nombrado por los Monty Python

Jul.-23 Curso Python 10


¿Por qué Python?

1. Es legible y fácil de aprender


2. Software libre. Abundante información en Internet.
3. Lenguaje de facto (conjuntamente con R tal vez) para
Machine Learning y Data Science
4. Extensa biblioteca de paquetes para todo tipo de
aplicaciones y áreas muy diversas (“the Swiss army knife of
programming languages”)
1. Muy popular (Google, NASA, Yahoo, Electronic Arts, etc.)

Fuente:
https://www.tiobe.com/tiobe-
index/

Jul.-23 Curso Python 11


Instalación

Bajaremos Python conjuntamente con el IDE, Spyder, el cual


usaremos en el curso (no obstante, la elección del IDE es
libre), y otros paquetes y herramientas.

Ver también:
http://docs.python.org/using/windows.html
http://docs.python.org/using/unix.html

Jul.-23 Curso Python 12


Instalación de

Descarga:

https://www.anaconda.com/products/individual#download

Verificación de la versión:

Video: https://www.youtube.com/watch?v=g6ln1dAt-RI
Jul.-23 Curso Python 13
Actualización de Anaconda y Spyder

Para actualizar Spyder:

Jul.-23 Curso Python 14


Actualizando Python

Jul.-23 Curso Python 15


Comencemos…
Strings de Documentación
(docstrings)

"""
Author: Ken Lambert
This program does nothing
yet, but just you wait!
"""

• Usado para documentar los programas Python para


otros programadores, debugger y otras herramientas.
• Debería aparecer al comienzo de cada programa.
• También se puede inspeccionar en runtime
Comentarios

Jul.-23 Curso Python 18


Help!

La función bult-in (incorporada; i.e. no necesita importarse) help()


recibe como argumento un objeto de Python (una clase, una función, un
módulo) e imprime en pantalla su documentación.

Jul.-23 Curso Python 19


Números y operaciones numéricas

• Las operaciones sobre ints (enteros) producen ints (excepto por /)


• Las operaciones en flotantes producen flotantes (reales), para crear
un número en punto flotante use “.”
• Las operaciones mixtas producen flotantes.
In[3]: 3.0+4.0
Out[3]: 7.0
I:3+4
O:7
I:3.0*4
O:12.0
I:3*4
O:12
I:10.0/3.0
O:3.3333333333333335
I:10/3
O:3.3333333333333335
I:(2+.5)*7) La división siempre
O:5.5 devuelve un nro. en
pto. flotante
Jul.-23 Curso Python 20
Cont.

Números en notación científica:


1e-05

Tipo de un número: type()

42
type(42)
<class 'int'>

Jul.-23 Curso Python 21


Variables y Tipos de
datos
Tipos de Datos

Jul.-23 Curso Python 23


Operadores

División entera,
se truncan los
dígitos luego de
la coma

Jul.-23 Curso Python 24


Ejemplo

Desarrollo de Taylor:


𝑥 𝑘
𝑒𝑥 = ෍
𝑘!
𝑘=0

1 2 3
𝑒 ≈1+ + + +⋯
1! 2! 3!

1+1+1/2+1/(3*2)+1/(4*3*2)+..

Jul.-23 Curso Python 25


Variables

b=2 # b es de tipo integer


print(b)
b=b*2.0 # ahora es float
print(b)
b=“Hola Mundo”
print(b)

➢ No es necesario declararlas, solo se asignan


➢ Pueden cambiar de tipo
➢ La variable es creada cuando se le asigna un valor
➢ Sensitivo a las mayúsculas
➢ Son referencias a objetos
➢ El nombre de una variable debe comenzar con una letra o
guión bajo (no recomendado)
Jul.-23 Curso Python 26
Entendiendo la asignación

▪ Python no maneja punteros como C o C++. En su lugar


tiene “nombres” (de variables) y “referencias” (trabaja como
Java y otros). No se crean copias, sino referencias.
▪ El nombre se crea la primera vez que aparece a la izquierda
de la expresión de asignación
x = 3
▪ Los nombres almacenan las “referencias” las cuales son
como punteros a ubicaciones en memoria que almacenan la
constante o un objeto
▪ Python determina el tipo de la referencia automáticamente basado
en el dato que es asignado a la misma
▪ También decide cuando borrarla vía garbage collection

Jul.-23 Curso Python 27


Cont.

Ocurren varias cosas cuando se escribe :


x = 3
• Primero un entero 3 es creado y almacenado en memoria
• Una variable x es creada
• Una referencia a la ubicación de la memoria que almacena el
número 3 es asignado a la variable x.

Type: Integer
Name: x Data: 3
Ref: <address1>

name list memory


28
Jul.-23
Curso Python
Convención de nombres de variables

Existen varias convenciones de nombres las cuales se pueden


consultar en; Style Guide for Python Code (PEP8)

Generalmente usaremos la convención:

letras_minúsculas_con_guion_bajo

Ejemplos:

distancia_km = 5799
millas_por_km = 0.6214
distancia_millas = distancia_km * millas_por_km
print(distancia_millas)

Jul.-23 Curso Python 29


Ejemplo

Calculemos el Índice de Masa Corporal (IMC)

𝑝𝑒𝑠𝑜
𝑖𝑚𝑐 =
𝑎𝑙𝑡𝑢𝑟𝑎2

Comprueben en tipo de la variable imc

Jul.-23 Curso Python 30


Constantes

▪ Similares a variables
▪ A diferencia de las variables su contenido no debería variar.
▪ Los nombres de las constantes deberían estar escritas en
MAYÚSCULAS.

Ejemplo: MAX_ARCHS=10

Jul.-23 Curso Python 31


Strings

s=‘hola’ similar a:

s=“hola”

c = ’’Triple comillas para varias líneas


... que pueden contener ‘ o “ ’’’

Jul.-23 Curso Python 32


Ejemplos

string1=“Presione enter para salir”


string2=“del programa”
print(string1+’ ‘+string2) #concatenación

print(string1[0:12]) # car. del 0 al 11

s=“3 9 81”
print(s.split()) # el espacio es el delimitador
>['3', '9', '81']

Slicing:
<string>[<com>:<fin>]
El slice contiene el substring comenzando con la posición de
comienzo (com) hasta la posición de fin, sin incluir la posición final.
Jul.-23 Curso Python 33
Los strings son arrays

print(string[1])
print(string[-1])

Jul.-23 Curso Python 34


Métodos de strings

Python tiene una cantidad de métodos bult-in que se pueden usar para
manejar strings.

Jul.-23 Curso Python 35


Booleanos

z=True
print(type(z))
<class 'bool'>

Jul.-23 Curso Python 36


Funciones print() e
input()
Función print()
Sintaxis: print(<expr>,<expr>,..,<expr>)

donde la coma final en la lista es opcional

Ejemplo

print("a = ", a)
a = 3.564
print("a = \n", a)
a =
3.564

Jul.-23 Curso Python 38


Salida formateada

Separando valores con la coma


q = 459
p = 0.098
print(q, p, p * q)
459 0.098 44.982

print(q, p, p * q, sep=",")
459,0.098,44.982

print(q, p, p * q, sep=" :-) ")


459 :-) 0.098 :-) 44.982

Jul.-23 Curso Python 39


Función input()
Sintaxis <variable> = input(<prompt>)

La función retorna un string ingresado desde teclado. Se


puede almacenar el resultado del input() en una variable

Ejemplo: print (“¿Cuál es tu nombre?: ")


name = input()
O
name = input (“¿Cuál es tu nombre?: ")
O
print ("¿Cuál es tu nombre?: ", end="")
name = input()

Jul.-23 Curso Python 40


Conversiones de tipo

• Los datos a veces deben convertirse de un tipo a otro.

• Existen funciones que toman los datos de un tipo y


retornan de otro tipo.
• int()
• float()
• str()

• Ejemplos
int(3.3) produce 3 str(3.3) produce “3.3”
float(3) produce 3.0 float(“3.5”) produce 3.5
int(“7”) produce 7
int(“7.1”) ERROR!
float(“Test”) ERROR!
Julio de 2023 Curso de Python 41
Sentencia Input y los números

• La sentencia input es evaluada como un string

• Debe ser convertida en un número si se quiere operar

• eval() es una función que convierte un string en un


número , ej. eval(“20”) -> 20

Julio de 2023 Curso de Python 42


Cont. de input(). Uso de eval().

La función eval() convierte un string en un número.

Jul.-23 Curso de Python 43


Cont.

• Se puede usar int() y float()

• Se genera un error si el string contiene caracteres no


numéricos

• int(item) convierte el item en un int


float(item) convierte el item en un float

Jul.-23 Curso de Python 44


Uso de float()

Cambiando eval() por float()

Jul.-23 Curso de Python 45


Funciones Matemáticas

Nombre del comando Descripción Constante Descripción


e 2.7182818...
abs(value) absolute value
pi 3.1415926...
ceil(value) rounds up
cos(value) cosine, in radians
floor(value) rounds down
log(value) logarithm, base e
log10(value) logarithm, base 10
max(value1, value2) larger of two values
min(value1, value2) smaller of two values
round(value) nearest whole number
sin(value) sine, in radians
sqrt(value) square root

Para usar muchos de estos comandos se debe escribir en la


parte superior del programa: from math import *
Jul.-23 Curso Python 46
Ejercicios

1. Cree un script que use los 4 diferentes tipos de datos vistos


y los imprima. Ensaye algunas operaciones básicas.

2. Para el cociente 17/4 muestre el resto y el cociente de la


división entera

3. Calcular el área del círculo dado el radio (asignarlo a


variables)

4. Calcular el área del triángulo dado la altura y base

Jul.-23 Curso Python 47


Cont. 1

5. Escribir un programa que permita calcular la conversión de


grados Fahrenheit a Celsius. Las fórmulas son las
siguientes:

formatear la salida para el resultado sea “amigable”. Ensaye


distintas formas de formatear la salida.
6. Cargue por pantalla su nombre y su apellido combínelos en
un string e imprímalo. Verifique el tipo de variable.

Jul.-23 Curso Python 48


Cont.

7. Extienda el ejercicio anterior para que solicite la ciudad y el


departamento
8. Escriba un programa que imprima un string compuesto de
los 2 primeros y 2 últimos caracteres.
9. Ingrese por teclado un string cualquiera y la posición
(índice) del n-ésimo carácter, luego remuévalo del mismo.
Ejemplo: string=“Python”; n=3; resultado=“Pyton”
10. Escriba un programa que ingrese un string por teclado e
intercambie el primer y ultimo carácter usando solo 1 línea
de código.

Jul.-23 Curso Python 49


Encuesta

Les agradecemos si pueden completar la encuesta que figura


en la plataforma (5 preguntas).

Jul.-23 Curso Python 50

También podría gustarte