Taller Python

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 73

Taller de Python

Python fue desarrollado por Guido van Rossum en la década de 1980.


Python un lenguaje de programación generalmente utilizado para la
creación de software, desarrollo web, análisis de datos y automatización
de tareas. Es conocido por su sintaxis clara y legible, lo que lo hace fácil
de aprender para principiantes

Profesor

Sergio Gonzalez
Estructuras de Datos

Algoritmos y programas
Un programa es la implementación
Un algoritmo es una secuencia de pasos ordenados
práctica de un algoritmo
y bien definidos que se utilizan para resolver un
problema o realizar una tarea específica.
Estructuras de Datos

Algoritmos y programas
• Un algoritmo es un conjunto de pasos para
resolver un problema.
• Programa: Forma de implementar un
algoritmo en una computadora.
• Conjunto de instrucciones que interpreta el
procesador.
Estructuras de Datos

Algoritmos y programas
Estructuras de Datos

Programación del algoritmo


Estructuras de Datos

Codificación de un programa
Codificar significa traducir una serie de instrucciones, acciones o ideas en
un lenguaje de programación específico, para crear un programa de
computadora que pueda ejecutar esas instrucciones
Estructuras de Datos

Codificación de un programa
• Lenguaje maquina.
– 1111s y 0000s
Estructuras de Datos

Codificación de un programa
• Lenguaje maquina.
– 1111s y 0000s
• Lenguajes de programación de alto nivel.
– Texto similar a lenguaje humano
Estructuras de Datos

Traducción de un programa
• Editor de texto -> Programa fuente
• Programa traductor -> Texto a lenguaje
maquina
– Compilador - Montador (Linker)
• Ejecutable
– Interprete
• Realiza traducción
• Ejecuta directamente archivo fuente
• No genera ejecutable
Un lenguaje de programación es un lenguaje formal diseñado para
comunicar instrucciones a una computadora.
Estructuras de Datos

Lenguajes de programación
• Independientes de la maquina
• Similar a lenguaje humano
• Una sola instrucción equivale a varias
instrucciones de lenguaje maquina.
• Uso de variables, símbolos y términos usados
por los humanos
• No nos preocupamos por organización real en
memoria
Estructuras de Datos

Evolución de los Lenguajes de Programación


Estructuras de Datos

Elementos básicos de lenguajes de


programación
• Constantes y variables
• Palabras reservadas
• Expresiones / Operadores
• Entrada / Salida
• Estructura de programa
• Comentarios
Estructuras de Datos

Variables
• Contenedores de datos
• Ocupa espacio en RAM
• Nombre / Identificador
– Letras
– Números
– Caracteres especiales
• Tipo
Estructuras de Datos

Tipos de datos primitivos


• Al programar, elegimos los tipos de datos a
utilizar
– Define rango acotado (Ahorro de memoria)
– Operaciones permitidas
Estructuras de Datos

Tipos de datos primitivos


• Implementados en el lenguaje
• Representación en la computadora de datos
enteros, reales, lógicos, caracteres, etc.
• Interpretación de un patrón de bits
• Limite en función del tamaño
– Cantidad de bits asignados
– Signo
– Desbordamiento (Overflow)
Estructuras de Datos

Tipos de datos primitivos


Estructuras de Datos

Booleanos
• Boolean
• Lógica booleana
– Verdadero (True)
– Falso (False)
Estructuras de Datos

Caracteres
• Char
• Tabla de caracteres
– UNICODE
– ASCII

https://unicode-table.com/es/
https://elcodigoascii.com.ar/
Estructuras de Datos

Enteros
• Byte
• Short
• Int
• Long

• Números con signo, rango posible depende


del tamaño de la variable en memoria.
Estructuras de Datos

Números reales – Punto flotante


• Float
• Double

• Precisión: Cantidad de cifras decimales


• Similar a notación científica
Estructuras de Datos

Cadenas de caracteres (Strings)


• Serie de caracteres
– Palabras
Estructuras de Datos

Palabras reservadas
Estructuras de Datos

Expresiones / Operadores
• Operar con tipos de datos primitivos
– Asignación
– Aritméticos
– Condicionales
– Bit
Estructuras de Datos

Operadores de asignación
• Asignar valores en variables
–=
– <-
– ++ / --
– += / -=
Estructuras de Datos

Operadores Aritméticos

• Uso con diferentes tipos de datos


Estructuras de Datos

Operadores condicionales
Estructuras de Datos

Operadores con Strings


• +y*
• len
• count(palabra)
• upper / lower
• title
• replace(viejo, nuevo)
Estructuras de Datos

Entrada / Salida
• Por pantalla / teclado
• Archivos
Estructuras de Datos

Estructura de programa
• Indentado
• Uso de ";"
• Sentencias entre llaves "{}"
Estructuras de Datos

Comentarios
• Líneas que no son ejecutadas
Estructuras de Datos

Estructura de un programa
• Declaración de variables
– Tipo
– Nombre
• Sentencias que implementan el algoritmo
Estructuras de Datos

Que es PYTHON?

• Python es un lenguaje de programación


interpretado con una sintaxis que favorece la
legibilidad del código.
Estructuras de Datos

Lenguaje de programación Python


• Creado a finales de los 80s por Guido Van Rossum
• Multiparadigma: Orientado a objetos, programación
funcional y programación imperativa.
• Licencia GNU GPL
• Codigo legible y transparente
Estructuras de Datos

Consideraciones antes de programar en Python


• En Python hay diferencia entre mayúsculas y
minúsculas.
• Las línea de código no deben terminar con "; "
• Los comentarios; si son de una línea debe comenzar
con "#" y si ocupan más de una línea van entre ‘ ’ ’
• El indentado es obligatorio, ya que no se usan llaves
para separar bloques de codigo
Estructuras de Datos

Imprimir cosas por pantalla

Funcion "print"

print("texto a imprimir")
Estructuras de Datos

Nuestro primer programa


#!/usr/bin/python

print("Hola mundo")
Estructuras de Datos

Declaración de variables
• Las variables no se declaran definiendo un
tipo
• El tipado es automatico y dinamico
• No se pueden realizar operaciones entre
variables de distinto tipo
• Existen funciones para el casteo:
– int()
– float()
– str()
Estructuras de Datos

Declaración de variables
nombreVariable = valor

Ejemplos:

dias = 2
decision = True
letra = "C"
radio = 25.63
dias = "lunes"

x , y , z = 34 , 25 , 12
x = y = "Hola"
Estructuras de Datos

Entornos de desarrollo Python


• Spyder
• Sublime
• Atom
• Thonny
• PyCharm
• Eclipse + PyDev
• Jupyter Notebook
Estructuras de Datos

Componentes de entorno de

desarrollo
Editor de texto y consola
• Facilidades en edicion
– Coloreado de Palabras según la sintaxis
– Indentación automática.
– Emparejamiento de parentesis y llaves.
– Introducción de comentarios
Estructuras de Datos

Ingreso de datos por teclado


• Para leer los datos que se introducen en el
teclado se utiliza la funcion input()

• Se puede utilizar de la siguiente manera:

variable = input("Ingrese un numero:


")
Estructuras de Datos

Ingreso de otros tipos de datos


• Por defecto, la funcion convierte la entrada a
una variable de tipo texto

• Recuerden que es posible castear las variables

variable = int(input("Ingrese un numero entero:


"))
Estructuras de Datos

Acá se pueden hacer los primeros


13 ejercicios
Estructuras de Datos

Estructuras de control
• Ya sabemos declarar variables, hacer
operaciones de distintos tipos entre ellas,
ingresar y sacar datos del programa

• Nos falta estructurar el codigo


Estructuras de Datos

Estructuras de control
• Orden de realización de los pasos del algoritmo
– Selectivas
– Repetitivas
Estructuras de Datos

Estructuras de control selectivas


• Decidir que hacer a partir de evaluar una
condición.
• Uso de operadores y expresiones lógicas.
• Bifurcaciones en el flujo del programa.
Estructuras de Datos

Alternativas simples
• Si – Entonces / If – then.
• Ejecuta una acción solo cuando se cumple una
condición
Estructuras de Datos

Alternativas simples
• Si – Entonces / If – then.
• En Python
Estructuras de Datos

Alternativas dobles
• Si – Entonces – si_no / If – then – else.
Estructuras de Datos

Alternativas múltiples
• Si – Entonces – si_no – entonces …
• If – then – else if – then …
Estructuras de Datos

Alternativas múltiples
• En Python no existe "switch - case"
Estructuras de Datos

Estructuras de control repetitivas


• Conjunto de operaciones que se deben repetir
varias veces.
• Ciclo o bucle: Parte de un programa que se
repite (iteración) un numero dado de veces o
mientras se cumpla una condición.
• Evitar bucles infinitos.
Estructuras de Datos

Estructuras de control repetitivas


Estructuras de Datos

Estructuras de control repetitivas


• Uso de contadores y acumuladores
Estructuras de Datos

Estructuras de control repetitivas


• Tres componentes básicos:
– Decisión
– Cuerpo del bucle
– Salida del bucle
Estructuras de Datos

Estructuras de control repetitivas


• Desde – Hasta / For
Estructuras de Datos

Estructuras de control repetitivas


• Desde – Hasta / For

• Repeticion de bloque de codigo 10 veces:

for var in range(10):


<bloque codigo>
Estructuras de Datos

Estructuras de control repetitivas


• Mientras / While
Estructuras de Datos

Acá se pueden hacer ejercicios


desde el 12 hasta el 21
Estructuras de Datos

Funciones - Procedimientos
• Muchas veces, partes del programa se repiten
• Es una buena practica, separar estas partes para
crear "Funciones" o "Procedimientos"
• Realizan tareas especificas
• El programa principal los "llama"
• Parámetros: Lista de valores de entrada
• Salidas
Estructuras de Datos

Definición
• Nombre identificatorio
• Parámetros: Lista de valores de entrada
• Salida
Estructuras de Datos

Invocación (Llamado)
• Utilizando su nombre y los parámetros entre
paréntesis, coincidiendo en cantidad y en tipo
con los de la definición
Estructuras de Datos
Estructuras de Datos

Ámbito de variables
• La ejecución de una función no debe afectar al
resto del programa
• Desarrollos independientes
• Variable local
– Declarada y utilizada solo dentro de la función
– Compartir nombres
– Valores no accesibles desde afuera
• Ámbito (scope): Parte del programa donde la
variable se reconoce como tal
Estructuras de Datos

Paso de parámetros
• Entrada (Argumentos): Desde el programa
principal a la función
• Salida: Resultados de la función, desde la
función al programa principal
• Entrada / Salida: Mismo parámetro para
mandar argumentos y devolver resultados.
• Tipos:
– Paso por valor
– Paso por referencia
Estructuras de Datos

Paso por valor


• La función recibe el valor de la variable
• Modificaciones a dicha variable, solo tienen
efecto dentro de la función
Estructuras de Datos

Paso por valor


• Todos los parámetros son solo de entrada
• Salida por retorno de la función
Estructuras de Datos

Paso por referencia


• Parámetros de Entrada / Salida
• Modificaciones a variables dentro de la función
se mantienen fuera de ella
Estructuras de Datos

Paso de parametros
Estructuras de Datos

Funciones en Python
• Tipos primitivos: Solo se permite paso por valor
• No se define tipo de salida
• No se definen tipos de parámetros
• Se pueden poner valores por defecto y asi poder
cambiar el orden de los parámetros
Estructuras de Datos

Funciones en Python
Estructuras de Datos

Funciones en Python
• Función suma de dos números enteros
Estructuras de Datos

Completar guía de ejercicios

También podría gustarte