0% encontró este documento útil (0 votos)
5 vistas61 páginas

Taller Introductorio de Python

El documento es un taller introductorio sobre Python que cubre conceptos básicos e intermedios, incluyendo tipos de datos, estructuras de control, y paradigmas de programación. Se explican las características del lenguaje, como su tipado dinámico y su naturaleza interpretada, así como las diferencias entre estructuras de datos como listas, tuplas, sets y diccionarios. Además, se abordan temas como la mutabilidad, el paso de valores y referencias, y la manipulación de cadenas.
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 PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas61 páginas

Taller Introductorio de Python

El documento es un taller introductorio sobre Python que cubre conceptos básicos e intermedios, incluyendo tipos de datos, estructuras de control, y paradigmas de programación. Se explican las características del lenguaje, como su tipado dinámico y su naturaleza interpretada, así como las diferencias entre estructuras de datos como listas, tuplas, sets y diccionarios. Además, se abordan temas como la mutabilidad, el paso de valores y referencias, y la manipulación de cadenas.
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 PPTX, PDF, TXT o lee en línea desde Scribd

Taller

Introductori
o de Python
Por: Jorge Decuir Martínez
• Conceptos básicos
• ¿Qué es Python?
• Tipos de datos en Python
• Variables
• Operadores aritméticos, relacionales y lógicos
Temario • Desiciones
• Ciclos
• Estructuras de datos
• Funciones
• Convenciones de nombres
• Conceptos Intermedios
• Scope (alcance)
• Paradigmas de programación
• Programación procedural e imperativa

Temario •

Programación Funcional (FP)
Programación Orientada a Objetos (OOP)
• Objetos
• Datos por valor y por referencia
• Clases, Encapsulamiento, Polimorfismo,
Herencia y Clases
• Python es un lenguaje de programación de tipo
script multiparadigma con sintáxis enfocada en la
fácil lectura y comprensión de código.
• Es un lenguaje dinámico; esto quiere decir, que la
asignación de datos a las variables no son
¿Qué es restrictivas como en el caso de lenguajes de
programación estáticos.
Python? • Python es un lenguaje interpretado; a diferencia
de un lenguaje compilado, las líneas de código de
python se van corriendo a medida que el
intérprete vaya bajando a través del archivo de
código (con terminación .py).
Lenguaje
compilado vs
interpretado
Tipos de datos en
Python
• Tipo texto: str (string)
• Tipos numéricos: int (enteros), float
(decimales), complex (números + imaginarios)
• Tipos secuenciales: listas (arreglos), tuplas
(similar a listas pero inmutables), rangos
• Tipos mapeables: dict (diccionarios)
• Tipos conjunto: set (conjunto), frozenset
(conjunto congelado, igual que set pero
inmutable)
• Tipo booleano: True o False
• Tipos binarios: bytes, bytearray, memoryview
• Tipo None: None (Nulidad, inexistencia)
Variables
• Como en matemáticas, las variables
representan un objeto matemático.
• En la programación en general; son
contenedores de valores que sirven para
guardar y recuperar datos.
• Generalmente, se utilizan nombres descriptivos
relacionados al valor que almacenan.
• Las variables en Python, son del tipo de dato
que almacena.
• Python es dinámicamente tipado; el valor de
sus variables cambia con el valor asignado, a
diferencia de los lenguajes estáticamente
tipados.
Mutabilidad vs
Inmutabilidad
• Los valores mutables son aquellos que pueden
cambiar o ser modificados después de su
creación.
• Los valores inmutables son aquellos que no
pueden cambiar después de ser creados.
Tipo de datos
mutables e
Inmutables
• Mutables
• Listas
• Diccionarios
• Sets
• Objetos
• Inmutables
• Números (Enteros, decimales, largos y
complejos)
• Strings (Cadenas)
• Tuplas (Son inmutables, pero pueden
almacenar valores mutables)
• Frozen Set
• En muchos lenguajes de programación, para
la gestión de la memoria se utiliza distintos
Pass by métodos, como el pasar datos por valor y
por referencia.
Value y • Al pasar un dato por valor, la variable creará
Pass by una copia nueva del dato en la variable.
Reference • Cuando el valor es pasado por referencia, la
variable apuntará a la dirección en memoria
del valor.
Pass by
Value y
Pass by
Reference
Strings (str,
cadenas) en
Python
• La cadena o str en Python es un tipo de dato que
representa texto. Cada caracter de una cadena puede ser
obtenido mediante un índice por ejemplo “Hola”[0] nos
devolverá “H”.
• Las cadenas son inmutables. En la concatenación de
cadenas no se modifica una cadena sino que una nueva
cadena se crea con los nuevos valores.
• Una cadena puede inicializarse con dobles comillas o
comillas simples:
• “Hello” o ‘Hello’
• La interpolación de cadenas sirve para agregar valores a
una cadena de manera más sencilla, sin utilizar el método
format.
• Ejemplo:
• nombre = “Jorge”
• saludo = f”Hola mi nombre es {nombre}”
Secuencias de
Escape
Operadores
aritméticos en
Python
Operadores
aritméticos en
Python
Operadores
relacionales en
Python
Operadores
Lógicos
• Un bloque de decisión evalúa una expresión
(True o False) y, dependiendo el resultado,
Bloque de puede cambiar el flujo del código a ejecutar.
decisiones • En Python, la sentencia if, elif y else se
utilizan para este propósito.
• Las sentencias elif y else son opcionales.
Bloque de decisiones
• A diferencia de los lenguajes tipados
respecto a la lógica booleana donde se
esperan valores de verdadero o falso, en
“Truthines Python los mismos valores expresan un
s” o estado de verdadero o falso:
“Falsiness • Ejemplos:
• Una string (cadena) vacía, implica falso, una
” de cadena de un carácter implica verdadero.
• Cero implica falso, diferente de cero implica
valores verdadero.
• Un objeto vacío (más de este adelante) es falso.
• None es falso.
• Los ciclos son bloques de código que
permiten repetir sentencias de código n
número de veces o hasta que una condición
determinada se cumpla.
Ciclos
• En Python existen dos tipos de ciclos: For y
While.
• El ciclo For es frecuentemente utilizado
cuando se conoce el número de iteraciones a
realizar.
• En Python, generalmente se utiliza con la
Ciclo For función range (rango) que permite
especificar un número determinado de
iteraciones con un comienzo y un final.
Ejemplo
ciclo For
• A diferencia del ciclo For, el ciclo While
permite cierta flexibilidad, contemplando
condiciones con variables que pueden
cambiar a través de las iteraciones.
Ciclo Asimismo, permite generar ciclos
indefinidos.
While • NOTA: es importante evitar los ciclos
infinitos, por esta razón es imperante
analizar la condición a evaluar.
Ejemplo
ciclo While
• Las estructuras de datos más comunes en
Python son:
• List
Estructura
• Set
s de datos • Tuples
• Dictionary
• List es una estructura de datos utilizada para
almacenar elementos ordenados y adyacentes.
• Ejemplo:
List • my_list = [1, 2, 3] o [”Jorge”, “Kevin”, “Gabo”]
• Obtener valores.
• Para acceder a los valores guardados en my_list, se
Obtener debe utilizar el índice del valor deseado (en
programación, las listas o arreglos están indexados
valores de desde cero a n.
list • Para obtener el primer valor de my_list sería
my_list[0] y obtendremos el valor 1.
• NOTA: También se puede obtener valores con
índices negativos.
• Obtener el tamaño de la lista.
• Para obtener el tamaño de la lista se utiliza la
Obtener función predefinida len() (length, o longitud en
inglés).
tamaño • Ejemplo:
de list • my_list = [1, 2, 3]
• len(my_list) # Dará como resultado 3
• Agregando elementos a la lista
• Para agregar un elemento a la lista, se utiliza el método

Agregar predefinido append(elemento).


• Ejemplo:

elementos • my_list = [1, 2, 3]


• my_list.append(4) # [1, 2, 3, 4]

en list • append() solo funciona para agregar un elemento al final de la


lista.
• Para agregar elementos en una posición específica se utiliza
insert(índice, elemento). Este agregará un elemento en la
posición indicada y recorrerá los elementos según sea el caso.
• my_list.insert(0, 0) # [0, 1, 2, 3, 4]
• extend() se utiliza para agregar múltiples elementos al final de la
lista.
• my_list.extend([5, 6, 7, 8]) # [0, 1, 2, 3, 4, 5, 6, 7, 8]
• Eliminando elementos de una lista
• Para eliminar un elemento de una lista se utiliza el
Eliminar método remove(elemento). Este método solo
eliminará la primera ocurrencia del elemento
elementos buscado si existen repetidos. Para eliminar varios
elementos se deben utilizar ciclos.
de list • Ejemplo:
• my_list = [1, 2, 3]
• my_list.remove(3) # [1, 2]
• Utilizando pop(). Extrae de la lista y devuelve el
último elemento.
• my_list.pop() # devuelve el valor 2 quedando [1]
• Tupla es una colección de datos en Python
similar a las listas.
• La secuencia de valores almacenadas en una
Tuplas tupla puede ser de cualquier tipo y son
indexadas por enteros.
• Las tuplas son inmutables, pero pueden
almacenar valores mutables como listas, etc.
• Ejemplo:
• tupla = (“Hola”, ) # (“Hola”)
• tupla = tuple(“Hola”) # (“H”, “o”, “l”, “a”)
• Al igual que las listas, el valor de las tuplas se
obtiene por medio de índices:
Obtener • tupla = (“Jorge”, “Decuir”)

valores de • tupla[0] # Devuelve “Jorge”


• Se pueden concatenar tuplas, pero esto
una tupla generará una tupla nueva debido a que son
inmutables.
Similitudes Diferencias

Funciones que pueden usar ambos: Métodos que no pueden ser usados
len(), max(), min(), sum(), any(), all(), en tuplas:
sorted() append(), insert(), remove(), pop(),

Diferencia
clear(), sort(), reverse()
Métodos que pueden usar ambos: Generalmente se usan tuplas para
count(), Index() tipos de datos heterogéneos
s entre (diferentes) y listas para datos
homogéneos (similares)

Listas y Tuplas pueden ser almacenadas en


listas
Iterar a través de una tupla es más
rápido que en una lista.

Tuplas Listas pueden ser almacenadas en Las listas son mutables y las tuplas
tuplas inmutables.

Ambas pueden ser anidadas Tuplas que contienen datos


inmutables pueden ser utilizadas
como llave de un diccionario.
• El set (conjunto) es una estructura que permite
al igual que la lista tener valores agrupados con
la particularidad de que NO PERMITE tener
valores repetidos y NO TIENE un orden definido.
Set • Un set no puede tener valores mutables
(valores que cambian) como listas o
diccionarios.
• Los valores no pueden ser ser accedidos usando
índices como en las listas. Se debe iterar.
• Para crear un set, se utiliza la función
predefinida set():
• Ejemplo:
Set • my_set = set() = set() # Un Set vacío
• my_set = set(“Jorge”) = {“j”, “r”, “g”, “e”, “o” }
# Set inicializado con str
• my_set = set([“jorge”, “omar”, “memo”]) # Set
inicializado con una lista de str {“jorge”,
“memo”, “omar”}
• Agregar elementos a set
• Para agregar un valor al set, se debe utilizar el
Agregar método propio del set add(elemento).
• Ejemplo: my_set.add(8) # Agrega el valor 8 a
elementos my_set
a Set • Para agregar múltiples valores se utiliza update;
acepta listas, cadenas, tuplas y otros sets. Los
elementos duplicados son evitados.
• my_set.update([9, 10]) # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
• Acceder elementos en un set
• Los elementos de un set no pueden ser accedidos
Acceder directamente con un índice, ya que son
desordenados. Pero se puede iterar a través de
elementos ellos o preguntando con la palabra reservada “in”
si algún valor existe.
en un Set
• Eliminar elementos en un set
• Se pueden eliminar elementos de un set utilizando
Eliminar el método remove(elemento) o discard(elemento)
que viene con el objeto set.
elementos • my_set = set([1, 2, 3, 4])
en un Set • my_set.remove(2) # {1, 3, 4}
• También se puede utilizar pop(). Extrae el último
valor del set y lo devuelve.
• NOTA: Ya que set es un valor desordenado, no se
sabe que valor pop() extraerá y devolverá.
• Un diccionario es una estructura desordenada
(antes de Python 3.7, de Python 3.7 en
adelante ya son ordenados y no pueden
contener valores duplicados) que gestiona sus
Dictionary datos mediante un par de llave: valor.
• Ejemplo:
• my_dict: {“name”: “Omar”, “lastname”: “de la
Portilla”}
• Pueden almacenar cualquier tipo de dato y
valores inmutables pueden ser llaves.
• Un diccionario es una estructura desordenada
(antes de Python 3.7, de Python 3.7 en
adelante ya son ordenados y no pueden
contener valores duplicados) que gestiona sus
Dictionary datos mediante un par de llave: valor.
• Ejemplo:
• my_dict: {“name”: “Omar”, “lastname”: “de la
Portilla”}
• Pueden almacenar cualquier tipo de dato pero
solo los valores inmutables pueden ser llaves.
• Agregar elementos a un Dictionary
Agregar • Para agregar un valor a un diccionario, se debe
suministrar una llave y el valor a agregar.
elementos • NOTA: Si la llave ya existe, se reemplazará el valor
que la llave mapea.
a un • Ejemplo:
Dictionary • my_dict[“address”] = “Main Street”
• # {“name”: “Omar”, “lastname”: “de la Portilla”,
“address”: “Main Street”}
• my_dict[“lastname”] = “González”
• # {“name”: “Omar”, “lastname”: “González”,
“address”: “Main Street”}
• Acceder elementos de un Dictionary
Acceder • Para acceder a un elemento del dictionary basta
con utilizar la llave entre corchetes:
elementos • Ejemplo:
de un • my_dict = {“name”: “Agustín”, “lastname”:
“Avelino”}
Dictionary • my_dict[“name”] # Devuelve “Agustín”
• Eliminar elementos de un Dictionary
Eliminar • Para eliminar un elemento del dictionary basta con
utilizar la función del(diccionario[llave]):
elementos • Ejemplo:
de un • my_dict = {“name”: “Agustín”, “lastname”:
“Avelino”}
Dictionary • del(my_dict[“name”]) # Borra el par name del
diccionario
• # {“lastname”: “Avelino”}
Funciones
en Python
• Son bloques de sentencias que realizan una
tarea específica. La idea es concentrar
tareas repetitivas juntas y crear una
función que evite escribir el mismo código
varias veces, con la finalidad de seguir el
principio DRY (Don’t Repeat Yourself).
• Ayudan a la lectura y estructura de código.
• Incrementan la reusabilidad.
• Existen dos tipos de funciones en Python:
Funciones predefinidas en la librería
estándar de Python y funciones definidas
por el programador.
Cuerpo
de una
Función
• Las funciones pueden o no tener parámetros
según nuestro criterio y necesidad.
• Para llamar una función se utiliza su nombre
seguido de paréntesis y si se especificaron
parámetros, con los respectivos argumentos.
Uso de
• Ejemplo
funciones • def saludar(nombre):
print(f”Hola mi nombre es {nombre}”)

saludar(“Jorge”) #Imprime “Hola mi nombre es


Jorge”
Uso de funciones

• En muchos lenguajes las variables pueden o no devolver valores.


• En el caso de Python, si no existe un valor de retorno explícito, devolverá None por default.
• Para devolver un valor, se debe utilizar la palabra reservada return.
• Ejemplo:
• def suma(a, b):
return a + b

total = suma(5, 7) # Regresa el valor 12 y se almacena en la variable total

def saludo():
print(“Hola a todos”)

resultado = saludo() # Imprime la cadena Hola a todos y devuelve None como valor
La diferencia entre Funciones y Métodos radica en
donde se encuentren ubicados en la definición de
nuestro código.

Funcione En la programación procedural, imperativa y


funcional, las funciones son fragmentos de código
s vs aislado.

Métodos En la programación orientada a objetos (más de esto


después) las funciones están “atadas” a un objeto, y
se llaman métodos. Siguen siendo funciones, pero
pertenecen a una nueva estructura de datos.
Scope (Alcance) en Python se refiere a la región de
un programa en la que una variable es accesible.
Determina la visibilidad de una variable dentro del
código.
El Scope se divide en 3:
GLOBAL SCOPE: Variables creadas fuera de
Scope de funciones que pueden ser utilizadas en cualquier
lado del programa.
variables ENCLOSING SCOPE: Si se tiene una función dentro
de otra, la función interna puede hacer uso de las
variables declaradas en la función externa.
LOCAL SCOPE: Variables creadas dentro de una
función sólo pueden ser usadas dentro de esa
función.
Scope de
variables
• Las convenciones de nombramiento sirven para homogenizar el
código y que tenga congruencia. No son obligatorias, pero es la
forma en la que el código puede ser entendido por diferentes
desarrolladores trabajando en conjunto.
• Para nombrar variables no se puede utilizar al inicio números:

Convencion • 24int #MAL


• Int24 #BIEN

es de • Se puede iniciar con guion bajo: _variable


• Aunque Python no bloquea el cambio de variables, por
nombramien convención para nombrar una variable constante se utilizan
mayúsculas, así otros entenderán que esa variable no deberá

to cambiar:
• PI = 3.1416
• Para variables con múltiples palabras se utiliza Snake Case:
• mi_variable_con_nombre_largo = “Hola mundo”
• En el caso de clases se puede utilizar la mayúscula inicial:
Persona(), PersonaAdulta().
• NOTA: La INDENTACIÓN EN PYTHON CUENTA, Y
MUCHO:

• Ejemplo: # Los espacios son representados por


asteriscos:

Reglas de • def ejemplo():

Indentación • ****print(“Soy un ejemplo”)

• ****if 1:

• ********print(“Prueba”)

• ****else:

• ********print(“Prueba 2”)
Paradigmas • Paradigma por procedimientos (procedural) o
imperativo.
de • Paradigma declarativo.
programació • Paradigma funcional.
n • Paradigma orientado a objetos.
Paradigma • Es el más conocido y utilizado en el proceso de
programación.
por • Los programas se desarrollan a través de
procedimien procedimientos. Pascal C y BASIC son tres de los
tos lenguajes imperativos más importantes.

(procedural) • Hay que añadir que los paradigmas de la programación

o concurrente y orientada al objeto son en realidad sub-

imperativo. paradigmas de la programación imperativa, así que sus


adeptos también son programadores imperativos.
• El paradigma declarativo o paradigma de programación
lógica se basa en el hecho que un programa
implementa una relación antes que una

Paradigma correspondencia. Debido a que las relaciones son más


generales que las correspondencias (identificador –
Declarativo dirección de memoria), la programación lógica es
potencialmente de más alto nivel que la programación
funcional o la imperativa. PROLOG es el lenguaje más
popular.
• La programación funcional se caracteriza por el uso de
expresiones y funciones. Un programa dentro del
paradigma funcional es una función o un grupo de
Paradigma funciones compuestas por funciones más simples
Funcional estableciéndose que una función puede llamar a otra, o
el resultado de una función puede ser usado como
argumento de otra función. El lenguaje por excelencia
dentro de este paradigma es LISP.
• Se basa en los conceptos de objetos y clases de objetos.
Un objeto es una variable equipada con un conjunto de
operaciones que le pertenecen o están definidas para

Paradigma ellos. El paradigma orientado a objetos actualmente es

Orientado a el paradigma más popular y día a día


programadores, estudiantes y profesionales tratan de
los

Objetos tomar algún curso que tenga que ver con este
paradigma, podría decirse, que programar orientado a
objetos está de moda. Smaltalk es el lenguaje por
excelencia.
• La Programación Orientada a Objetos (OOP, por sus
siglas en inglés), replantea la manera de programar a

Programació través de una representación abstracta de la vida real,


donde los objetos se comunican entre sí, para resolver
n Orientada problemas de programación.
a Objetos • Las clases y objetos son el principal componente de este
paradigma, donde la clase es un “plano” que nos
permite generar objetos.
Programació
n Orientada
a Objetos
Programació
n Orientada
a Objetos

También podría gustarte