Guia Python
Guia Python
Variables
Python
Es un lenguaje ideal para aprender a programar porque
tiene un sintaxis clara y sencilla que favorece un código
legible.
x = "Python es "
y = "fácil"
z = x + y
print(“Concatenación: " + z)
Variables
Python
Fue creado a finales de la de la década de los 80 por Guido
Van Rossum. Si bien el logo de Python suele ser una
serpiente, el nombre proviene de la afición de su creador
por los humoristas británicos Monty Python.
Variables
Python
Python es un lenguaje de programación interpretado, esto quiere decir
que un intérprete va leyendo y ejecutando línea a línea el programa, a
diferencia de un lenguaje compilado que primero compila el programa
entero, genera un ejecutable y luego se corre el programa.
Python
Se trata de un lenguaje de programación multiparadigma, ya que
soporta orientación a objetos, programación imperativa y
programación funcional. Es un lenguaje con tipado dinámico y es
multiplataforma. Los programas que hagas pueden funcionar en
Windows, Linux y Mac.
Se utiliza para:
• desarrollo web (del lado del servidor),
• desarrollo de software,
• matemáticas,
• secuencias de comandos del sistema.
Variables
Paradigmas de programación
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/programacion-imperativa/
Variables
Python
Python es un lenguaje open source, que se distribuye con la licencia
Python Software Foundation. Además, es un lenguaje de propósito
general, por lo cual tiene muchos usos.
Instalación Python
Para instalar Python en un equipo con el sistema operativo Windows
utilizar una cuenta de usuario con privilegios de administrador o la cuenta
del administrador local.
https://www.python.org/
Variables
Instalación Python
Variables
Probando Python
Acceder a la línea de comandos ejecutando el programa cmd.exe o
Símbolo del sistema, dando en el icono de buscar cmd.
Variables
IDE
Entorno de desarrollo integrado
Editor de código
IDLE Python
Entorno de desarrollo incluido con Python
Sololearn
https://code.sololearn.com/
Git Bash
https://git-scm.com/downloads
Variables
Git Bash
Es una aplicación para entornos de Microsoft Windows que ofrece una
capa de emulación para una experiencia de líneas de comandos de Git.
Bash es una shell predeterminada popular en Linux y macOS. Git Bash es
un paquete que instala Bash, algunas utilidades comunes de bash y Git en
un sistema operativo Windows. Una Shell (interprete de comandos) es una
aplicación de terminal que se utiliza como interfaz con un sistema
operativo mediante comandos escritos, es decir un intermediario que se
encarga de traducir los comandos del usuario, a instrucciones que solo el
núcleo o kernel del sistema operativo entiende.
Variables
Extensión Python
Variables
Extensión Python
Variables
Extensión Python
Variables
Configurando Python
Python es un lenguaje interpretado, y para ejecutar el código Python y
poder tener IntelliSense de Python configurado, debemos indicar a Visual
Studio Code qué intérprete debe utilizar. Para esto abre la paleta de
comando con Ctrl + Shift + P y tipea “Python: Select Interpreter”. Al
seleccionar la opción te mostrará una lista con los intérpretes de Python
que tengas instalados en tu sistema. Seleccionas el de Python 3.x y queda
configurado.
Variables
Script de Python
Un script de Python es un archivo de texto con extensión .py que
contendrá código Python, después se ejecuta este archivo con el
interprete de Python en VSCODE se realiza dando click derecho Run
Python File in Terminal.
Usando IDLE
Variables
Zen de Python
>>> import this
Variables
Variable
Es un espacio de memoria reservado para guardar un valor, es un nombre
que se refiere a un valor, con el operador de asignación se pueden crear
nuevas variables y asignarles un valor. Python es un lenguaje de
programación con tipado dinámico por lo que no es necesario indicar de
que tipo es la variable, al declararla solo basta con hacer la asignación
para crear la variable y a partir de ese momento se puede utilizar. Python
maneja la memoria dinámicamente con lo cual no tendremos que
encargarnos de reservar memoria y devolverla. Una expresión o sentencia
es una combinación de valores, variables, operadores y llamadas a
funciones.
Variables
Variable
Los nombres de variables en Python deben ajustarse a unas reglas:
Tipos de datos
Python es un lenguaje de tipado dinámico, incluye tipos de datos básicos
como los números enteros, números reales (decimales), números
complejos, booleanos (true/false), String (cadena de caracteres). Python
tiene la función type para saber de que tipo es un valor o una variable.
Variables
Tipos de datos
Variables
Variable
Si desea especificar el tipo de datos de una variable, puede hacerlo con
conversión de tipo o casteo(casting). Las variables de cadena se pueden
declarar utilizando comillas simples o dobles.
Variables
Variable
Variables
Indentación o sangría
Se refiere a los espacios al comienzo de una línea de código, mientras que
en otros lenguajes de programación la sangría en el código es solo para
legibilidad, en Python la sangría se usa para indicar un bloque de código y
dará un error si se omite. No importa el numero de espacios pero debe ser
al menos uno y se tiene que usar la misma cantidad de espacios en el
mismo bloque de código, de lo contrario Python dará un error.
Variables
Comentarios
Los comentarios se pueden utilizar para explicar el código Python, para
hacer que el código sea más legible o para evitar la ejecución al probar el
código. Los comentarios comienzan con a #, y Python los ignorará,
también se puede utilizar una cadena de varias líneas, dado que Python
ignorará los literales de cadena que no están asignados a una variable,
puede agregar una cadena de varias líneas (comillas triples) y colocar su
comentario dentro de ella
Entrada, Salida y Operadores
input
Escribir un script en Python que permita al usuario ingresar valores al
programa. La función print() permite incluir variables o expresiones
como argumento, lo que nos permite combinar texto y variables:
Entrada, Salida y Operadores
Referencia de operadores
Se muestra una referencia de los operadores aritméticos, los
operadores de asignación, los operadores de comparación y los
operadores lógicos. Los operadores son símbolos que define el
lenguaje para hacer una operación concreta. Existen operadores
unarios que requieren un operando y operadores binarios que
requieren dos operandos. Por ejemplo, para realizar la suma de dos
números Python provee el operador “+”.
Entrada, Salida y Operadores
Operadores asignación
El operador de asignación básico
= permite crear variables nuevas.
Python nos permite hacer
asignaciones múltiples. Se puede
intercambiar los valores de la
variables. Existen operadores de
asignación especiales
Entrada, Salida y Operadores
Operadores aritméticos
Nos permiten realizar
operaciones aritméticas
básicas. Estos operadores
son binarios y devuelven
el resultado de la
operación aritmética que
define.
Entrada, Salida y Operadores
Operadores de comparación
Devuelven un booleano (verdadero/false).
Entrada, Salida y Operadores
Operadores lógicos
Sirven para operar sobre valores booleano o sobre expresiones que
devuelven un valor booleano.
Entrada, Salida y Operadores
Operadores lógicos
Entrada, Salida y Operadores
Precedencia de operadores
Nos permiten realizar operaciones aritméticas básicas. Estos
operadores son binarios y devuelven el resultado de la operación
aritmética que define.
Entrada, Salida y Operadores
Precedencia de operadores
Entrada, Salida y Operadores
Librería de matemáticas
Nos permiten realizar operaciones aritméticas básicas. Estos
operadores son binarios y devuelven el resultado de la operación
aritmética que define.
Entrada, Salida y Operadores
Librería de matemáticas
Entrada, Salida y Operadores
Librería de matemáticas
Entrada, Salida y Operadores
Librería de matemáticas
Entrada, Salida y Operadores
Librería de random
Nos permiten realizar operaciones aritméticas básicas. Estos
operadores son binarios y devuelven el resultado de la operación
aritmética que define. Castear int pasear de un tipo a otro.
Condicionales
Condicionales
if
Los condicionales nos permiten que el programa ejecute un conjunto
de sentencias o no según se cumpla una condición sobre el contexto
de ejecución del programa. Es decir, puede comportarse de una
manera u otra según el contexto. Esta condición debe ser una
expresión booleana, es decir, que evalúa a Verdadero o Falso.
if condicion:
SENTENCIA
Condicionales
if...else
La ejecución alternativa nos permite ejecutar un bloque de código u
otro según se cumpla una condición o su complemento.
if condicion:
SENTENCIA
else:
SENTENCIA
Condicionales
if encadenado
Python nos permite hacer condicionales encadenados con la sentencia
elif. Esta forma de escribir los condicionales nos servirá cuando
tengamos más de 2 condiciones distintas. Si no se cumple ninguna de las
condiciones se puede ejecutar el bloque de código que figura en el else.
if condicion:
SENTENCIA
elif condicion:
SENTENCIAS
else:
SENTENCIA
Condicionales
if anidado
Python nos permite anidar los condicionales. Es decir dentro de las
sentencias que se ejecutan dentro del cuerpo del if y/o del else poner
otro condicional.
if condicion:
if condicion :
SENTENCIA
else:
SENTENCIA
else:
if condicion :
SENTENCIA
else:
SENTENCIA
Condicionales
Operador ternario
Ejercicio 1
Ejercicio 2
Crear programa que lea tipos de datos y los relacione con operadores
introducidos por teclado : dos enteros, un float, dos String.
Ejercicio 3
Ejercicio 4
Hallar la raíz cuadrada de los siguientes números 2, 8, 9, 27, 28, 55, 121
y mostrar los resultados de cada operación.
Condicionales
Ejercicio 5
Ejercicio 6
Ejercicio 7
Ejercicio 8
• Crear una variable llamada “Resultado”.
• Dentro de la variable “Resultado”, crear una operación aritmética
donde se haga uso de todos los operadores matemáticos en
repetidas ocasiones con los números que tú determines.
• Ejemplo: (9/2) +8*2/1-(2+2) ….
• Mostrar el resultado de la operación.
Condicionales
Ejercicio 9
• Crear una variable entera llamada “ladoCuadrado” de valor 8 y calcular el área y el
perímetro del cuadrado a partir de la variable anteriormente creada.
• Crear una variable entera llamada “baseTriangulo” de valor 9 y una variable
entera llamada “alturaTriangulo” de valor 8. Crear dos variables enteras llamadas
“ladoUnoTriangulo” y “ladoDosTriangulo” de valor 8 ambas. Calcular el área y el
perímetro del triángulo a partir de variables anteriormente creadas.
• Crear una variable entera llamada “baseRectangulo” de valor 8 y una variable
entera llamada “alturaRectangulo” de valor 6. Calcular el área y el perímetro del
rectángulo a partir de variables anteriormente creadas.
Condicionales
Ejercicio 10
• Desarrollar un programa que permita por medio de la edad de una persona,
determinar la categoría en la que pertenece a raíz de la siguiente tabla:
List
son estructuras de datos que contienen una secuencia ordenada de
objetos (colección de elementos). Son heterogéneas porque pueden
almacenar diferentes tipos de objetos. Son mutables porque su
contenido puede cambiar. Y se diferencian de las otras estructuras de
datos por el uso de los corchetes. Su característica principal reside en
que el orden de sus elementos se mantiene en todo momento. Las listas
es una de las más utilizadas por su naturaleza, dinamismo, fácil manejo y
potencia, estas son uno de los 4 tipos de datos integrados en Python que
se utilizan para almacenar colecciones de datos, los otros 3 son Tuple ,
Set y Dictionary , todos con diferentes calidades y usos.
Listas
List
Listas
List
Python conoce varios tipos de datos compuestos, que se utilizan para
agrupar otros valores. La más versátil es la lista, que se puede escribir
como una lista de valores (elementos) separados por comas entre
corchetes. Las listas pueden contener elementos de diferentes tipos,
pero por lo general todos los elementos tienen el mismo tipo. Al
igual que las cadenas (y todos los demás tipos de secuencia
incorporados ), las listas se pueden indexar y dividir
Listas
List
Al definir una lista se puede hacer referencia a otras variables. Si se
trata objetos inmutables, el resto de variables no resultan afectadas.
Pero si se trata de objetos mutables y al modificar la variable se
modifica el objeto, el resto de variables sí resultan afectadas
Listas
List
Se puede acceder a cualquier elemento de una lista escribiendo el
nombre de la lista y entre corchetes el número de orden en la lista. El
primer elemento de la lista es el número 0. Se pueden concatenar dos
listas utilizando la operación suma.
Listas
List
Las listas se pueden concatenar con el símbolo de la suma (+). El
operador suma (+) necesita que los dos operandos sean listas.
Listas
List
Se pueden utilizar números negativos (el último elemento tiene el
índice -1 y los elementos anteriores tienen valores descendentes). Se
puede modificar cualquier elemento de una lista haciendo referencia
a su posición.
Listas
List
Todas las operaciones de corte
devuelven una nueva lista que
contiene los elementos solicitados.
Esto significa que el siguiente
segmento devuelve una copia
superficial de la lista. Además
también podemos seleccionar una
porción de elementos de una lista
Listas
List
Si se intenta acceder a un índice que está fuera del rango de la lista,
el intérprete lanzará la excepción IndexError. De igual modo, si se
utiliza un índice que no es un número entero, se lanzará la excepción
TypeError.
Listas
List
Tipos de datos. Elementos de la lista.
Listas
List
El método append() agrega un elemento. Insert inserta un elemento
en la posición deseada posición. Para agregar elementos de otra lista
a la lista actual, use el extend() método. Se puede agregar cualquier
objeto iterable (tuplas, conjuntos, diccionarios, etc.).
Listas
List
Eliminar elementos de la lista.
Listas Operadores
Especiales
Python tiene un
conjunto de métodos
integrados que se
pueden usar en listas.
Listas Operadores Especiales
in
Para saber si un valor está en una lista
se puede utilizar el operador in. La
sintaxis sería "elemento in lista" y
devuelve un valor lógico: True si el
elemento está en la lista, False si el
elemento no está en la lista.
Tuplas
Tuplas
Tuplas
Las tuplas son secuencias inmutables, que normalmente se utilizan para
almacenar colecciones de datos heterogéneo. Las tuplas también se
utilizan para casos en los que se necesita una secuencia inmutable de
datos homogéneos.
Tuplas
Tuplas
Las tuplas se pueden construir de varias formas:
Tuplas
Tuplas
Tuplas
Tuplas
Tuplas
Tuplas
Empaquetado de tuplas
Si a una variable se le asigna una secuencia de valores separados por
comas, el valor de esa variable será la tupla formada por todos los
valores asignados. A esta operación se la denomina empaquetado de
tuplas.
Tuplas
Desempaquetado de tuplas
Si se tiene una tupla de longitud L, se puede asignar la tupla a L variables
distintas y en cada variable quedará una de las componentes de la tupla.
A esta operación se la denomina desempaquetado de tuplas.
Tuplas
Desempaquetado de tuplas
Tuplas
Desempaquetado de tuplas
Tuplas
Ejercicio
1. Escribir un programa que almacene los vectores (1,2,3) y (-1,0,2) en
dos tuplas y muestre por pantalla su producto escalar.
Diccionarios
En Python, un diccionario es una colección no-ordenada de valores que
son accedidos a través de una clave. Es decir, en lugar de acceder a la
información mediante el índice numérico, como es el caso de las listas y
tuplas, es posible acceder a los valores a través de sus claves, que
pueden ser de diversos tipo. Las claves son únicas dentro de un
diccionario, es decir que no puede haber un diccionario que tenga dos
veces la misma clave, si se asigna un valor a una clave ya existente, se
reemplaza el valor anterior. La información almacenada en los
diccionarios, no tiene un orden particular. Ni por clave ni por valor, ni
tampoco por el orden en que han sido agregados al diccionario.
Diccionarios
Diccionarios
Los diccionarios en Python, al igual que las listas y las tuplas, nos
permiten almacenar diferentes tipos de datos: Strings, enteros,
flotantes, booleanos, tuplas, listas e inclusive otros diccionarios.
Diccionarios
Cualquier variable de tipo inmutable, puede ser clave de un diccionario:
cadenas, enteros, tuplas (con valores inmutables en sus miembros), etc.
No hay restricciones para los valores que el diccionario puede contener,
cualquier tipo puede ser el valor: listas, cadenas, tuplas, otros
diccionarios, objetos, etc. En otros lenguajes, a los diccionarios se los
llama arrays asociativos, matrices asociativas, o también tablas de hash.
Diccionarios
Diccionarios
Los diccionarios se encuentran a veces en otros lenguajes como
"memorias asociativas" o "arreglos asociativos". A diferencia de las
secuencias, que se indexan mediante un rango numérico, los diccionarios
se indexan con claves, que pueden ser cualquier tipo inmutable; las
cadenas y números siempre pueden ser claves. Las tuplas pueden usarse
como claves si solamente contienen cadenas, números o tuplas; si una
tupla contiene cualquier objeto mutable directa o indirectamente, no
puede usarse como clave. No se puede usar listas como claves, ya que las
listas pueden modificarse usando asignación por índice, asignación por
sección, o métodos como append() y extend().
Diccionarios
Diccionarios
Las operaciones principales sobre un diccionario son guardar un valor
con una clave y extraer ese valor dada la clave. También es posible borrar
un par clave:valor con del. Si usas una clave que ya está en uso para
guardar un valor, el valor que estaba asociado con esa clave se pierde. Es
un error extraer un valor usando una clave no existente. Hacer
list(d.keys()) en un diccionario devuelve una lista de todas las claves
usadas en el diccionario, en un orden arbitrario (si las quieres ordenadas,
usa en cambio sorted(d.keys()). Para controlar si una clave está en el
diccionario, usa el in.
Diccionarios
Diccionarios
Diccionarios
Diccionarios
Los diccionarios son una estructura de datos y un tipo de dato que
asocian valores a claves. A diferencia de las listas que indexan sus
elementos mediante un rango numérico, los diccionarios indexan sus
elementos por claves. Hay varias formas de definir los diccionarios, la
más común es utilizando las "llaves" y definiendo los "pares clave valor",
separando la "clave", el valor con los dos puntos y cada "par clave valor"
por la coma. Otra forma es con la función "dict", pasando al argumento
de tipo "keyword", donde cada "keyword" es una clave y el valor del
argumento es el valor para esa clave. También se le puede pasar a la
función “dict" un iterable con tuplas "clave valor". Todas estas formas
son equivalentes.
Diccionarios
Diccionarios
Diccionarios
Diccionarios
Las vistas son objetos que proveen una vista dinámica de las entradas
del diccionario. Esto quiere decir, que si cambio el diccionario, dicho
cambio se ve reflejado en las vistas. Las vistas también son iterables y
responden al mensaje "Len" que indican la longitud y el mensaje "In" que
indica la pertenencia. Los diccionarios tienen tres vistas: la vista "Keys" o
claves, la vista "Values" o valores y la vista "Items" que devuelve los
items del diccionario.
Diccionarios
Métodos
Ciclos
Ciclos
for
La sentencia for en Python difiere un poco de otro lenguajes, en lugar
de siempre iterar sobre una progresión aritmética de números o darle
al usuario la posibilidad de definir tanto el paso de la iteración como la
condición de fin, la sentencia for de Python itera sobre los ítems de
cualquier secuencia (una lista o una cadena de texto), en el orden que
aparecen en la secuencia. Si se necesita iterar sobre una secuencia de
números, es apropiado utilizar la función integrada range(), la cual
genera progresiones aritméticas. El bucle for no requiere que se
establezca una variable de indexación de antemano.
Ciclos
for
Para recorrer un conjunto de código un número específico de veces,
podemos usar la función range (), esta devuelve una secuencia de
números, comenzando desde 0, se incrementa en 1 y termina en un
número especificado. Tenga en cuenta que el rango (6) no son los
valores de 0 a 6, sino los valores de 0 a 5. Tiene por defecto 0 como valor
inicial, sin embargo, es posible especificar el valor inicial agregando un
parámetro: range (2, 6) , que significa valores de 2 a 6 (pero sin incluir 6).
Tiene como valor predeterminado incrementar la secuencia en 1, sin
embargo, es posible especificar el valor de incremento agregando un
tercer parámetro: range (2, 30, 3 ) :
Ciclos
for
Ciclos
for
Ciclos
for
Listas - Ciclos
Listas Ciclos
Se puede recorrer una lista de principio a fin de dos formas distintas, una
es recorrer directamente los elementos de la lista, es decir, que la
variable de control del bucle tome los valores de la lista que estamos
recorriendo.
Listas - Ciclos
Listas Ciclos
Otra forma es recorrer indirectamente los elementos de la lista, es decir,
que la variable de control del bucle tome como valores los índices de la
lista que estamos recorriendo (0, 1 ,2 , etc.). En este caso, para acceder a
los valores de la lista hay que utilizar letras[i].
Listas - Ciclos
Listas Ciclos
Recorrer una lista al revés
Listas - Ciclos
Listas Ciclos
Modificar los elementos de una lista
Listas - Ciclos
Listas Ciclos
Eliminar elementos de la lista, Para eliminar los elementos de una lista
necesitamos recorrer la lista al revés. Si recorremos la lista de principio a
fin, al eliminar un valor de la lista, la lista se acorta y cuando intentamos
acceder a los últimos valores se produce un error de índice fuera de
rango.
Listas - Ciclos
Listas Ciclos
La solución es recorrer la lista en orden inverso, de manera que aunque
se eliminen elementos y la lista se acorte, los valores que todavía no se
han recorrido siguen existiendo en la misma posición que al principio.
Listas - Ciclos
Listas Ciclos
El método append () agrega un elemento al final de la lista.
Listas Operadores Especiales
not in
Para saber si un valor no
está en una lista se pueden
utilizar los operadores not
in. La sintaxis sería
"elemento not in lista" y
devuelve un valor lógico:
True si el elemento no está
en la lista, False si el
elemento está en la lista.
Ciclos
break
La sentencia break termina el ciclo for o while más anidado. Las
sentencias de lazo pueden tener una cláusula else que es ejecutada
cuando el ciclo termina, luego de agotar la lista (con for) o cuando la
condición se hace falsa (con while), pero no cuando el lazo es
terminado con la sentencia break.
Ciclos
break
Ciclos
continue
Ciclos
continue
Con la instrucción continue podemos detener la iteración actual del
ciclo y continuar con la siguiente
Listas - Ciclos
Listas Ciclos
Break y continue.
Ciclos
else
La else palabra clave en un for bucle especifica un bloque de código
que se ejecutará cuando finalice el bucle
Ciclos
else
Ciclos
pass
La sentencia pass no hace nada. Se puede usar cuando una sentencia
es requerida por la sintaxis pero el programa no requiere ninguna
acción.
Diccionarios
Diccionarios
Diccionarios
Diccionarios
Ciclos
while
Con el bucle while podemos ejecutar un conjunto de instrucciones,
siempre y cuando se cumpla una condición. Se debe incrementar i, de
lo contrario el ciclo continuará para siempre
Ciclos
while
Ciclos
while
Ciclos
while
Listas Operadores Especiales
while
Listas - Ciclos
Ejercicio 1
Escriba un programa que permita crear una lista de palabras. Para ello, el
programa tiene que pedir un número y luego solicitar ese número de
palabras para crear la lista. El programa tiene que escribir la lista.
Ordene la lista por orden alfabético. Pida una palabra y diga cuántas
veces aparece esa palabra en la lista. Pida dos palabras y sustituya la
primera por la segunda en la lista. Pida una palabra y elimine esa palabra
de la lista. Elimine de la primera lista los nombres de la segunda lista.
Cree una segunda lista igual a la primera, pero al revés. Elimine los
elementos repetidos.
Diccionarios
Ejercicio
Se desea almacenar los datos de 3 alumnos. Definir un diccionario cuya
clave sea el número de documento del alumno. Como valor almacenar
una lista con componentes de tipo tupla donde almacenamos nombre de
materia y su nota.
Crear las siguientes funciones:
1) Carga de los alumnos (de cada alumno solicitar su dni y los nombres
de las materias y sus notas)
2) Listado de todos los alumnos con sus notas
3) Consulta de un alumno por su dni, mostrar las materias que cursa y sus
notas.
Listas dentro de listas
Ejercicio1
Crear y cargar una lista con 5 enteros por teclado. Implementar un
programa que identifique el mayor valor de la lista, el menor valor de la
lista y la posición donde se encuentra
Listas dentro de listas
Ejercicio 2
Crear una lista por asignación. La lista tiene que tener cuatro elementos.
Cada elemento debe ser una lista de 3 enteros. Imprimir sus elementos
accediendo de diferentes modos.
Listas dentro de listas
Ejercicio 3
Desarrollar un programa que permita cargar 5 nombres de personas y
sus edades respectivas. Luego de realizar la carga por teclado de todos
los datos imprimir los nombres de las personas mayores de edad
(mayores o iguales a 18 años)
Funciones y Métodos
Funciones y Métodos
Programación estructurada
La programación estructurada es un paradigma de programación basado
en utilizar funciones o subrutinas, y únicamente tres estructuras de
control:
Programación estructurada
Este paradigma se fundamente en el teorema correspondiente, que
establece que toda función computable puede ser implementada en un
lenguaje de programación que combine sólo estas tres estructuras
lógicas o de control.
Programación estructurada
Entre las ventajas de la programación estructurada sobre el modelo
anterior (hoy llamado despectivamente código espagueti) son: Los
programas son más fáciles de entender. La estructura de los programas
es clara, puesto que las sentencias están más ligadas o relacionadas
entre sí. Se optimiza el esfuerzo en las fases de pruebas y depuración. El
seguimiento de los fallos o errores del programa (debugging), y con él su
detección y corrección, se facilita enormemente. Se reducen los costos
de mantenimiento. Análogamente a la depuración, durante la fase de
mantenimiento, modificar o extender los programas resulta más fácil.
Funciones y Métodos
Programación estructurada
Programación estructurada
El uso de funciones es un componente muy importante del paradigma de
la programación llamada estructurada, y tiene varias ventajas:
Sentencia def
La sentencia def es una definición de función usada para crear objetos
funciones definidas por el usuario
Sentencia def
Funciones y Métodos
Sentencia def
La definición de función no ejecuta el cuerpo de la función; esto es
ejecutado solamente cuando la función es llamada.
def NOMBRE(LISTA_DE_PARAMETROS):
"""DOCSTRING_DE_FUNCION"""
SENTENCIAS
RETURN [EXPRESION]
Funciones y Métodos
Sentencia def
Funciones y Métodos
Sentencia def
Al definir una función los valores los cuales se reciben se denominan
parámetros, pero durante la llamada los valores que se envían se
denominan argumentos. Por posición, por nombre
Funciones y Métodos
Sentencia def
Parámetros Por defecto
Funciones y Métodos
Sentencia def
Argumentos indeterminados por posición, por nombre
Funciones y Métodos
Sentencia def
Argumentos indeterminados por posición, por nombre
Funciones y Métodos
Sentencia def
Retornos múltiples
Funciones y Métodos
Sentencia def
Ejemplo
Diccionarios
Ejemplo
Confeccionar una agenda. Utilizar un diccionario cuya clave sea la fecha.
Permitir almacenar distintas actividades para la misma fecha (se ingresa
la hora y la actividad)
Ejemplo agenda
Diccionarios
Ejemplo agenda
Diccionarios
Ejemplo stock
Confeccionar un programa que permita cargar un código de producto
como clave en un diccionario. Guardar para dicha clave el nombre del
producto, su precio y cantidad en stock.
Implementar las siguientes actividades:
Ejemplo stock
Diccionarios
Ejemplo stock
Diccionarios
Ejemplo stock
Funciones y Métodos
lambda
Una función anónima, son funciones sin nombre. Es decir, es posible
ejecutar una función sin referenciar un nombre en Python. El contenido
de una función anónima debe ser una única expresión en lugar de un
bloque de acciones.
lambda
Funciones y Métodos
Ejercicios
• Confeccionar una aplicación que muestre una presentación en
pantalla del programa. Solicite la carga de dos valores y nos muestre
la suma. Mostrar finalmente un mensaje de despedida del programa.
Implementar estas actividades en tres funciones.
Ejercicios
• Realiza una función llamada area_circulo(radio) que devuelva el área
de un círculo a partir de un radio. Calcula el área de un círculo de 5 de
radio.
Errores y excepciones
Hay dos tipos de errores distinguibles: errores de sintaxis y
excepciones. Los errores de sintaxis, también conocidos como
errores de análisis, son quizás el tipo de queja más común que recibe
mientras todavía está aprendiendo Python.
Validaciones y excepciones
Excepciones
Incluso si una declaración o expresión es sintácticamente correcta,
puede causar un error cuando se intenta ejecutarla. Los errores
detectados durante la ejecución se denominan excepciones.
Validaciones y excepciones
Try Except
Cuando ocurre un error (excepción), Python normalmente se
detendrá y generará un mensaje de error. Estas excepciones se
pueden manejar usando la declaración try:
Try Except
Validaciones y excepciones
Try Except
Validaciones y excepciones
Try Except
https://www.tutorialsteacher.com/python/error-types-in-python
Validaciones y excepciones
Try Except
Validaciones y excepciones
Try Except
Validaciones y excepciones
Try Except
Listas Operadores Especiales
Listas Operadores Especiales
Validaciones y excepciones
Try Except
El restaurante “El Comelón” necesita crear un programa que les
permita facturar. Se debe solicitar el nombre del cliente, dirección,
cantidad de productos, nombres de los productos y precio. Se debe
mostrar en consola nombre del cliente, dirección, los cinco productos
con su nombre, precio y cantidad. Además se debe mostrar el
subtotal, iva del 19% y total a pagar. Tener en cuenta que por cada
dos productos se da un descuento del 25% sobre el valor de
producto. Validar datos de entrada.
Listas dentro de listas
Funciones y Métodos
Recursividad
Se denomina llamada recursiva (o recursividad), a aquellas funciones que
en su algoritmo, hacen referencia sí misma.
Listas dentro de listas
Lista multidimensional
Puede haber más de una dimensión
adicional para las listas en Python .
Teniendo en cuenta que una lista puede
contener otras listas, ese principio
básico se puede aplicar una y otra vez.
Las listas multidimensionales son las
listas dentro de las listas. Por lo general,
un diccionario será la mejor opción en
lugar de una lista multidimensional en
Python.
Listas dentro de listas
Lista multidimensional
Accediendo mediante bucles
Listas dentro de listas
Lista multidimensional
Accediendo mediante bucles
Listas dentro de listas
Lista multidimensional
Accediendo mediante un corchetes
Listas dentro de listas
Lista multidimensional
Matrices irregulares
Listas dentro de listas
Lista multidimensional
Lista de comprensión
Listas dentro de listas
Lista multidimensional
Agregando una sublista
Listas dentro de listas
Lista multidimensional
Escribiendo en filas y columnas
Listas dentro de listas
Lista multidimensional
Creando matrices
Listas dentro de listas
Lista multidimensional
Escribiendo en filas y columnas
Listas dentro de listas
Lista multidimensional
Matrices N-dimensionales
Métodos de
ordenamiento
Métodos de ordenamiento
Ordenamiento
Ordenamiento de sus elementos
https://www.tutorialesprogramacionya.com/pythonya/detalleconcepto.
php?punto=18&codigo=18&inicio=15
https://www.tutorialesprogramacionya.com/pythonya/detalleconcepto.
php?punto=19&codigo=19&inicio=15
Métodos de ordenamiento
https://runestone.academy/ns/books/published/pythoned/SortSearch/E
lOrdenamientoBurbuja.html
https://www.youtube.com/watch?v=lyZQPjUT5B4&list=LL&index=3
Métodos de ordenamiento
Método de
ordenamiento
burbuja
JSON
JSON
JSON
JSON viene del acrónico Javascript Object Notation (notación de objetos
JavaScript). El formato JSON es muy utilizado en las aplicaciones
modernas para intercambiar datos, es una sintaxis para almacenar datos
y es texto escrito con notación de objetos JavaScript. Python tiene un
paquete incorporado llamado json que forma parte de la librería
estándar de Python, que se puede usar para trabajar con datos JSON.
https://www.json.org/json-en.html
https://docs.python.org/3/library/json.html
http://jsonviewer.stack.hu/,
https://rickandmortyapi.com/documentation/#rest
JSON
Serializar
Serializar un objeto (normalmente una lista o diccionario) es transformar
el mismo a una representación de String utilizando un formato
determinado, en este caso JSON. Con la función Dumps serializamos un
objeto importando la librería Json y al ejecutar el código vemos que
devuelve un string con la representación de la lista. Existen dos
funciones similares pero que leen o guardan directamente el objeto
serializado en un archivo. Para serializar un objeto a un archivo abrimos
el archivo en modo escritura y llamamos a la función Dump pasándole el
objeto y el archivo abierto. Ejecutamos el código y abrimos el archivo
donde vemos que se guardó la lista serializada.
JSON
JSON a diccionario
JSON
Tipos de datos
JSON
Tipos de datos
JSON
Deserializar
Deserializar es el proceso inverso que pasa una representación de un
objeto como cadena de caracteres en determinado formato al objeto
propiamente dicho. Con la función Loads deserializamos un string que
representa un objeto en formato JSON, ejecutamos el código y vemos
que nos devuelve la lista. Ahora veamos cómo deserializar una cadena de
caracteres desde un archivo de Json. Para esto abrimos el archivo en
modo lectura, y llamamos a la función Load pasándole el archivo abierto.
Ejecutamos el código y vemos el contenido en la variable que tiene la
lista con los elementos.
JSON
JSON a diccionario
JSON
Serialización
y deserialización
JSON
Escritura y lectura
Lectura y Escritura de
archivos
Lectura y Escritura de archivos
Archivos
Para abrir un archivo se utiliza la función "Open". Esta función devuelve
un objeto de tipo archivo. Si ocurre algún problema al intentar abrir el
archivo, por ejemplo que el archivo no exista o que el usuario no tenga
permisos para acceder a el, entonces se levanta una excepción de tipo y
"IOERROR". En general, la función "Open" se llama con dos parámetros,
la ruta donde se encuentra el archivo y el modo cómo se abrirá.
Lectura y Escritura de archivos
Archivos
Los modos son: "r" para abrirlo en modo lectura, éste es el default, "w"
para abrirlo en modo escritura, troncando el archivo primero; esto quiere
decir, que borra todo el contenido anterior, "x" para crear un nuevo
archivo y abrirlo en modo escritura, "a" para abrir el archivo, agregando
el contenido nuevo al final, es decir, mantiene el contenido que tenía el
archivo previamente, "b" para abrirlo en modo binario, "t" para abrirlo en
modo texto, éste es el default, "+" para abrirlo para actualizaciones, es
decir, lectura y escritura.
Lectura y Escritura de archivos
Archivos
Al terminar de trabajar con el archivo debemos cerrarlo, para eso
llamamos a la función "Close". Si no cerramos el archivo no estaremos
devolviendo el recurso y podremos bloquear a otros programas que
quieran acceder a ese archivo. Además, quedará un "file descriptor" del
sistema operativo sin liberar, por eso es muy importante no olvidarse de
cerrar los archivos que abrimos.
Lectura y Escritura de archivos
Context Manager
Son objetos que permiten definir algunas acciones al entrar el contexto
y algunas acciones al salir de contexto. Por ejemplo, los objetos de tipo
archivo se pueden utilizar como Contenxt Manager y al salir del contexto
cierran el archivo sin necesidad de tenerlo que hacer el programador.
Para acceder a un Context Manager se utiliza la sentencia “with“
pasándoles la ruta al archivo y el modo con que lo vamos a abrir, y le
damos el nombre que tendrá el archivo abierto. Luego, dentro del
contexto podemos trabajar con el archivo.
Lectura y Escritura de archivos
Leer
Lectura y Escritura de archivos
Escribir
Lectura y Escritura de archivos
Leer
Lectura y Escritura de archivos
Excepción
Lectura y Escritura de archivos
Excepción
Lectura y Escritura de archivos
Funciones
Lectura y Escritura de archivos
Modos
Lectura y Escritura de archivos
Archivos
JSON
Archivos CSV
La abreviación "CSV" (comma separated values) valores separados por coma.
Este es el formato de importación y exportación más simple de hoja de cálculo
y es un formato muy liviano. En su especificación, tiene muchas variantes sobre
los caracteres separadores y de entrecomillado. Por ejemplo, se puede separar
cada columna por "coma", "punto y coma" y el tabulador. Y el entrecomillado,
con comillas simples, comillas dobles, sin entrecomillado, etcétera. Que el
formato permita distintas variantes a veces complica la interpretación del
archivo, por el programa de hoja de cálculos, por ejemplo, el Excel; ya que
pueden tener configurado que el separador es el "punto y coma" y el archivo
"CSV" lo tiene separado, utilizando la "coma". En ese caso, hay que cambiar la
configuración con que Excel lo lee o generar el archivo utilizando como
separador el "punto y coma".
JSON
Archivos CSV
En el archivo "CSV", en este caso, separa los valores por "coma" y sin
entrecomillado. Para leer un archivo "CSV“ utilizaremos la "librería csv" que
forma parte de la biblioteca estándar de Python. Abrimos el archivo en modo
lectura y creamos un objeto lector con la función "reader" de la "librería csv" y
luego con un "for" recorremos cada una de las filas e imprimimos cada fila,
separando las columnas con una "coma" y "espacio". Notar que la fila es una
lista. Ejecutamos el código, Para escribir en un archivo "CSV" lo abrimos en
modo escritura, en este caso, como se va agregar una fila al archivo existente,
lo abro con el modo "a", creo un objeto escritor con la función "writer" de la
"librería csv" y llamo a la función "writerow" que escribe la fila, a partir de una
lista de valores. Ejecutamos el código y si abrimos el archivo "CSV", vemos que
se agregó la fila nueva.
JSON
Archivos CSV