Está en la página 1de 62

www.senati.edu.

pe
Resumen e Introducción

Moisés García Hidalgo www.senati.edu.pe


Resumen
Como en la mayoría de los lenguajes de programación de alto nivel, en Python se
compone de una serie de elementos que alimentan su estructura, entre ellos están las
estructuras de control, las cuales permiten tener, además de un orden al momento de
hacer código, la forma en que tenemos que acomodar las instrucciones para poder
ejecutarlas y la identación que también es parte de dichas formas. Con ayuda de las
funciones y métodos disponibles por el propio lenguaje, como la asignación múltiple,
los operadores relaciones y lógicos, y el uso de módulos y paquetes, es posible armar
un código consistente, pero a la vez legible fácilmente por el humano.

www.senati.edu.pe
Introducción
Con este ensayo se busca explicar de manera clara y con ejemplos de programas
funcionales, los diferentes temas investigados para el control de instrucciones,
manejo de funciones, control de variables y manejo de librerías o módulos
empaquetados, para así tener una mayor y mejor comprensión del tan versátil lenguaje
Python.

Los temas a profundizar se muestran con el siguiente esquema, además de mostrar de


manera gráfica el orden en cómo están distribuidos:

Siguiente diapositiva

www.senati.edu.pe
Introducción

www.senati.edu.pe
Estructuras de control de flujo

Fernando Tuesta Zuta www.senati.edu.pe


Estructuras de control de flujo
Es un bloque de código que permite agrupar instrucciones de manera
controlada, pero para poder usar las estructuras de control es
imprescindible saber sobre la identación, el cual sería como un
equivalente a la sangría para nuestro lenguaje humano.

www.senati.edu.pe
IDENTACION(Sangrado)
• A diferencia de otros lenguajes que se basan en el uso de
llaves o comas, este lo hace por Identación

• Es utilizado para mejorar la legibilidad del código fuente


por parte de los programadores.

• En ciertos lenguajes de programación como Haskell, Occam y


Python, el sangrado se utiliza para delimitar la estructura
del programa permitiendo establecer bloques de código.

www.senati.edu.pe
• Por ejemplo, en estos casos siguientes donde se
presenta un ciclo que imprime los valores de una
variable desde 0 hasta n-1 en los lenguajes C, Matlab
y VBA(Excel)

www.senati.edu.pe
• En cambio, en Python han evitado la necesidad de estos
caracteres o palabras clave y simultáneamente llevar a que el
código fuera escrito de manera más ordenada y con menos
elementos

Nota: Python utiliza retornos de carro(saltos de línea) para


separar sentencias y los dos puntos y el sangrado para reconocer
bloques de código.

www.senati.edu.pe
En el siguiente ejemplo se puede ver el bucle for y la
siguiente línea de código identado a la derecha:

www.senati.edu.pe
Encoding
• Es el proceso a través del cual se transforma información
textual humana (caracteres alfabéticos y no alfabéticos) en un
conjunto más reducido, para ser almacenado o transmitido.
• El encoding asocia nuestros signos alfabéticos y no
alfabéticos con ciertos números.
• A partir del Python versión 3 hacia adelante, ya no se aplica
el encoding.

NOTA: El encoding UTF-8 no tiene una cantidad fija de bits para representar los caracteres. Utiliza
un sistema de largo variable para lograr mayor flexibilidadUTF-8 puede representar todos los
caracteres de Unicode, un estándar creado a fines de los ochenta para codificar todos los
caracteres de todas las lenguas escritas del mundo: un total de más de 100 mil signos. En UTF-8 la
ñ se representa con el número hexadecimal C3B1.

www.senati.edu.pe
• Con el método encode() de cadena, puede convertir cadenas
sin codificar en cualquier codificación compatible con
Python. Por defecto, Python usa la codificación UTF-8.

www.senati.edu.pe
Ejemplos:

www.senati.edu.pe
www.senati.edu.pe
Asignación Múltiple

• Dentro de sus múltiples funciones permite asignar varios


valores en una línea de código, es decir, se puede asignar
por ejemplo de una lista, tupla o valores separados por coma
(,).

NOTA: Es muy importante distinguir entre una operación de


asignación y una sentencia de igualdad. Puesto que Python usa el
signo igual (=) para la asignación, es tentador interpretar una
sentencia como a = b como una sentencia de igualdad.

www.senati.edu.pe
• Ejemplo de cambiar valor a variable:

www.senati.edu.pe
• Ejemplo asignación múltiples datos:

• Ejemplo en Lista:

www.senati.edu.pe
• Ejemplo en tuplas:

www.senati.edu.pe
Estructuras de Control de Flujo Condicionales

Cristian Diaz Gutierrez www.senati.edu.pe


Estructuras de Control de Flujo
Condicionales
En la vida diaria, actuamos de acuerdo a la evaluación de condiciones que tengamos en
frente, de manera mucho más frecuente de lo que en realidad creemos:

Ejem: Si el semáforo está en verde, cruzar la calle. Si no, esperar a que el


semáforo se ponga en verde.

A veces, también evaluamos más de una condición/situación para ejecutar una


determinada acción:

Ejem: Si llega la factura de la luz y tengo dinero, pagar la boleta.

www.senati.edu.pe
Estructuras de Control de Flujo
Condicionales
Para evaluar estás condiciones, tenemos hasta tres formas.

If evalúa condicion y si es verdadera, ejecuta bloque:

if else evalúa condicion y si es verdadero ejecuta bloque 1, de lo contrario, ejecuta


bloque 2:

www.senati.edu.pe
Operadores Relacionales

Javier Laredo de las Heras Muñoz www.senati.edu.pe


Estructuras de Control de Flujo Condicionales

Las estructuras de control condicionales nos permiten evaluar


si una o más condiciones se cumplen, para así tomar una
decisión, esta evaluación de condiciones, solo puede arrojar
uno de dos resultados: verdadero o falso (True o False).

Los condicionales nos permiten comprobar condiciones y hacer


que nuestro programa se comporte de una forma u otra, que
ejecute un fragmento de código u otro, dependiendo de esta
condición.

www.senati.edu.pe
Operadores Relacionales (de comparación)
Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el
resultado de la comparación es correcto la expresión considerada es verdadera, en caso
contrario es falsa.
Para el uso de estos operadores se recomienda lo siguiente:
• Olvidar los paréntesis al poner la condición del if es un error sintáctico (los paréntesis
son necesarios, pero esto parece ya no ser necesario en las últimas versiones)
• No confundir el operador de comparación == con el operador de asignación =
La expresión a=b copia el valor de b en a, mientras que a==b se utilizaría en el código
como una condición.
Ejem.: si a == b seguir ejecutando programa.
• Los operadores de comparación ==, !=, <= y >= han de escribirse sin espacios.
• El fragmento de código afectado por la condición del if debe identarse para que
visualmente se interprete correctamente el ámbito de la sentencia.
www.senati.edu.pe
Símbolos

www.senati.edu.pe
www.senati.edu.pe
www.senati.edu.pe
www.senati.edu.pe
www.senati.edu.pe
Módulos, Paquetes y Namespaces

Moisés García Hidalgo www.senati.edu.pe


En Python, los archivos .py se denominan módulos, y un paquete es una
carpeta que contiene varios archivos .py o uno solo pero debe contener un
archivo de inicio llamado __init__.py, este archivo no necesita contener
ninguna instrucción, incluso puede estar completamente vacío.
Un paquete también puede contener subpaquetes e incluso estos podrían tener
más subpaquetes dentro.

www.senati.edu.pe
Importando Módulos
El contenido de cada módulo puede ser utilizado a la vez por otros módulos,
pero para ello, es necesario importar los módulos que se quieren utilizar,
para esto se utiliza la instrucción import seguido del nombre del módulo
(sin .py) que se desea importar.

Esto hará que llame a todos las funciones o métodos que fueron creados en ese módulo.

Importante: Solo se importan módulos, no paquetes, si se quiere llamar a todos los


módulos de un paquete, hay que importarlos uno por uno.

www.senati.edu.pe
Importando Módulos
Pero si solo se necesita llamar un módulo específico de un paquete también
específico, se usa la misma sintaxis anterior, pero al final del nombre del
paquete se escribe un punto seguido del nombre del módulo que se quiere
llamar, así como se muestra a continuación:

www.senati.edu.pe
Namespaces
Un namespace, es el nombre que se ha indicado luego de la palabra import y
para acceder a cualquier elemento del módulo importado, se usa un punto
seguido del nombre del elemento que se desee obtener:

www.senati.edu.pe
Alias
Es posible también, abreviar los namespaces mediante un “alias”, para ello,
durante la importación se hace uso de la palabra clave as seguida del alias
con el cual nos referiremos en el futuro a ese namespace importado:

www.senati.edu.pe
Alias
Y para acceder a cualquier elemento de los módulos importados, el namespace
utilizado será el alias indicado durante la importación:

www.senati.edu.pe
Importar módulos sin usar Namespaces
Es posible también importar de un módulo solo los elementos que se desee
utilizar, para ello se utiliza la instrucción from seguida del namespace,
más la instrucción import y seguido del elemento o función que se desea
importar:

De esta manera se podrá acceder al elemento o función sin escribir su


namespace correspondiente:

www.senati.edu.pe
Importar módulos sin usar Namespaces
También es posible importar más de un elemento o función, para ello es
necesario separar cada uno por una coma y un espacio en blanco:

www.senati.edu.pe
Importar módulos sin usar Namespaces

Incluso, puede que al momento de compilar muestre dicha advertencia, es por


ello que la palabra clave from se muestra subrayada, esto no quiere decir
que el programa no vaya a funcionar, pero tampoco que esté libre de
cualquier posible falla, que como se muestra a continuación, aparecerán las
advertencias al momento de que Python intente importar las funciones de
dicho módulo:

www.senati.edu.pe
Importar módulos sin usar Namespaces
A continuación, se muestra el programa con el resultado impreso en la
terminal, todo desde el editor de código Visual Studio Code:

www.senati.edu.pe
Operadores Lógicos

Cristian Diaz Gutierrez www.senati.edu.pe


Operador AND

El resultado es verdadero si ambas


expresiones son verdaderas

www.senati.edu.pe
EJEMPLO:

www.senati.edu.pe
Operador OR:

El resultado es verdadero si una o


ambas expresiones son verdaderas

www.senati.edu.pe
EJEMPLO:

www.senati.edu.pe
Operador XOR

El resultado es verdadero si una o


expresiones son verdaderas

www.senati.edu.pe
EJEMPLO:

www.senati.edu.pe
Estructuras de Control Iterativas

Brayhan Enrique Linares Vasquez www.senati.edu.pe


Estructuras de Control Iterativas:
O estructuras de control cíclicas, es decir, que se repiten
como en un bucle, para realizar estos bucles, tenemos dos
estructuras de control:

• Bucle For
• Bucle While

www.senati.edu.pe
Bucle For
Esta es la sintaxis:
𝒇𝒐𝒓 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝒊𝒏 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜_𝑖𝑡𝑒𝑟𝑎𝑏𝑙𝑒 𝑙𝑖𝑠𝑡𝑎, 𝑐𝑎𝑑𝑒𝑛𝑎, 𝑟𝑎𝑛𝑔𝑒, 𝑒𝑡𝑐.
𝑐𝑢𝑒𝑟𝑝𝑜 𝑑𝑒𝑙 𝑏𝑢𝑐𝑙𝑒

El bucle itera o recorre sobre los ítems de cualquier secuencia (una lista o
una cadena de caracteres o un rango), en el orden que aparezca la
secuencia y para el caso de la función range, lo hace el número de veces
que se le indique.

www.senati.edu.pe
Bucle For

Esto imprimirá los números del 0 al 4 en la terminal:

www.senati.edu.pe
Otros ejemplos:

www.senati.edu.pe
Otros ejemplos:
El bloque de instrucciones que se repite se suele llamar cuerpo
del bucle y cada repetición se suele llamar iteración

www.senati.edu.pe
www.senati.edu.pe
Bucle While

Al igual que con for, nos permite repetir bloques de código de

manera cíclica, sin embargo, el while lo hará mientras cierta

condición se cumpla, por lo tanto, en el momento en que la

condición deja de cumplir, el programa terminará ese bucle

while.

www.senati.edu.pe
Su sintaxis es la siguiente:

Y su diagrama de flujo:

www.senati.edu.pe
Bucles infinitos
El programador ha olvidado modificar la variable de
control dentro del bucle y el programa imprimirá números 1
indefinidamente:

www.senati.edu.pe
Bucles infinitos
El programador ha escrito una condición que se cumplirá siempre y el programa
imprimirá números consecutivos indefinidamente:

Por eso es que se aconseja expresar las condiciones como desigualdades en vez de comparar valores.

www.senati.edu.pe
Ejemplos de bucle while
En la siguiente programación pedimos al usuario que escriba un numero positivo y
usamos el bucle while en caso de que el usuario escriba un numero negativo ya que así
el bucle se repetirá indefinidamente hasta que el usuario escriba un numero positivo.

www.senati.edu.pe
Ejemplos de bucle while
En la siguiente programación pedimos al usuario su edad y utilizamos el bucle while
para que si el usuario llegase a colocar una edad negativa o menor a 5 ya que no
existe edades negativas que alguien que tenga menos de 5 años (pueda manejar el
programa a menos que sea un caso especial) y así el bucle que siga repitiendo
indefinidamente hasta que coloque una edad coherente y utilizamos el operador OR para
que si usuario tan bien llegase a colocar una edad mayor a 100 el bucle se siga
repitiendo ya que no hay un usuario con esa edad que maneje el programa.

www.senati.edu.pe
www.senati.edu.pe

También podría gustarte