Fundamentos de
Pytho
Módulo 2
Sebastián Araya Riquelm
PCA
sebastian.araya05@[Link]
P
Que veremos ◎ La función print
◎ Tipos de Datos
◎ Literales
◎ Variables
◎ La función input 2
◎ Conversiones de Tipos
◎ Operadores aritméticos y lógicos
Hola Mundo
La función La función print permite escribir en el stdout (buffer encargado de la
print salida de datos, comúnmente asociado a la pantalla)
Importante para la certificación, las siguientes líneas de código
son equivalentes y dan como resultado: “Hola Mundo
3
!
Funciones en
print es una función nativa de python.
Python
Una función es una parte separada del código de computadora la cual es capaz de:
Causar algún efecto
Evaluar un valor o algunos valores
Las funciones en python pueden:
4
Ser provistas por Python, funciones nativas del lenguaje
Ser provistas por uno o varios módulos (desarrollados por terceros)
Desarrollarlas tu mismo
En PCEP es importante solo conocer las funciones nativas del lenguaje, no se
requiere un dominio de los otros tipos de módulos
Solo a modo de ejemplo, utilicemos el siguiente bloque de código (Nota: La definición de
Como Python funciones personales las veremos en el módulo 5 de nuestro curso!
interpreta las
funciones?
Python comienza la ejecución en la línea 3
Python busca si la función saludar existe en el contexto actua
Si la función existe verifica que los argumentos proporcionados le permiten invocar a la funció
Python pasa su ejecución a la Linea 1 y ejecuta el contenido de la función (Línea 2
Una vez finalizada la función, vuelve donde estaba y ejecuta la línea
Esto aplica tanto para funciones personales o funciones nativas de python!
.
La función Podemos resumir la firma de la función print con el siguiente “pseudocodigo
print en
detalle
Donde
args: representa uno o más argumentos de cualquier tipo separados por comma
sep: representa un carácter que separa a cada argumento (por defecto es un espacio en blanco
end: representa el caracter de cierre de la linea ( por defecto es \n, representa un salto de linea)
La función print no tiene un retorno, su efecto es enviar el valor resultante al dispositivo de salida,
comúnmente la consola
:
Algunos
ejemplos
◎ Línea 1: Hola INACAP 2020
◎ Línea 2: 2020
◎ Línea 3: Ho
◎ Línea 4: lamundo
◎ Línea 5: Type Error end must be None or a string, not int
No puede existir más de una instrucción por linea de código, lo que quiere decir lo siguiente
es incorrecto
Python
restringe que
exista solo
una
instrucción
por linea!
8
Da un error de sintaxis invalida, sin embargo esto sí se puede hacer!
:
Se puede utilizar el backslash para escapar caracteres, por ejemplo si
print y los quisiésemos escribir una comilla dentro de un print lo podemos hacer así:
caracteres de
escape
Para la certificación es importante conocer todas estas posibilidades
El backslash también se puede escapar!
Tipos de
Datos en Tipo Descripción
Python
String (str) Cadenas de texto
Int (int) Números Enteros
10
Float (float) Números con decimales
Boolean (bool) Lógicos, puede tener valores
True o False
Números sin una parte fraccionaria
Tipos de Los siguientes son literales válidos para un Entero:
Datos en 100
Detall 1_000
-2020
-2_021
Desde python 3.6 es posible representar literales enteros separando sus dígitos con guión bajo. El guión
no necesariamente tiene que estar en un lugar matemáticamente lógico
11
Dependiendo del literal, python determina de que tipo tiene que ser la variable que la almacena. En
los siguientes ejemplos la variable a, b y c son enteros
Enteros
Los Literales de entero se pueden escribir en base octal y hexadecimal
Tipos de Datos
Independiente de la forma en que se escriba el resultado sigue
en Detall
siendo entero
12
Enteros
Octales y
Hexadecimales
e
Números con parte fraccionaria (también conocidos como números punto-flotante)
Tipos de Los siguientes son literales válidos para un Flotante:
Datos en
2.5
Detall
2.0
.4
-4.
-.1_00
0.56 13
Ojo con los casos como los anteriores que parecen errores de sintáxis!
Float
Se puede utilizar el símbolo exponente para representar de una forma más sencilla los números con muchas comas
Tipos de decimales:
El exponente (el valor después de la e) debe ser un valor entero
Datos en La base (el valor antes de la e) puede o no ser un valor entero
Detall
14
Float y el
exponente
Las Cadenas se emplean cuando se requiere procesar texto.
El literal de una cadena requiere comillas simples o dobles, sin embargo es importante ser
Tipos de consistente en su uso
Datos en Los siguientes representan formas apropiadas de utilizar cadenas
Detall
15
Cadenas
La sintáxis de cadenas multilínea se puede usar para comentarios multilinea!
e
Tipos de Permiten representar un valor abstracto - la veracida
Datos en El resultado de un operador lógico es un valor boleano.
Detall Un valor booleano puede tener solo 2 valores posibles, True o False
16
Booleanos
Ojo con los últimos 2 ejemplos para la certificación!
● Para concluir con los literales de Python, existen dos más.
● No son tan obvios como los anteriores y se emplean para representar un valor muy abstracto - la veracidad.
● Cada vez que se le pregunta a Python si un número es más grande que otro, el resultado es la creación de un tipo de dato muy específico - un valor booleano.
● El nombre proviene de George Boole (1815-1864), el autor de Las Leyes del Pensamiento, las cuales definen el Algebra Booleana - una parte del algebra que hace uso de dos valores: Verdadero y Falso, denotados como 1 y 0.
e
Tipos de None representa la ausencia de valor
Datos en Puede ser utilizado para inicializar una variable a la cual aún no se le
Detall asigna un valor.
17
NoneType
e
Operadores
Básico
Operador Descripción Ejemplo
+ Suma r = 3 + 2 # r es 5
- Resta r = 4 – 7 # r es -3
* Multiplicación r = 2 * 6 # r es 12 18
** Exponente r = 2 ** 6 # r es 64
/ División r = 3.5 / 2 # r es 1.75
// División entera r = 3.5 // 2 # r es 1.0
% Módulo r = 7 % 2 # r es 1
s
Un signo de ** (doble asterisco) es un operador de exponenciación (potencia).
Operadores El argumento a la izquierda es la base, el de la derecha, el exponente
en Detall Tanto base o exponente deben ser o flotantes, o enteros, o ambos
Cuando ambos argumentos son enteros, el resultado es entero también.
Cuando al menos un argumento es flotante, el resultado también es flotante.
Este operador no se puede aplicar con cadenas!!!
19
Exponenciación
e
Se puede aplicar con flotantes y enteros
Operadores
en Detall
20
Se puede aplicar entre enteros y cadenas (pero no entre cadenas y cadenas y entre
cadenas y flotantes!!!)
Multiplicación
e
Operadores
en Detall Se puede utilizar entre enteros, flotantes o ambos
Todos los siguientes ejemplos muestran 2.0
21
División
El resultado producido por el operador de división siempre es flotante, sin importar si a
primera vista el resultado es flotante: 1 / 2, o si parece ser completamente entero: 2 / 1
e
Se utiliza símbolo de doble diagonal
Operadores El resultado carece de parte fraccionaria.
en Detall Si se utiliza entre flotantes, la parte fraccionaria es 0
Si se utiliza entre enteros, la parte fraccionaria es ausente
22
El redondeo se hace siempre hacia abajo y hacia el valor inferior entero
División Entera
e
Representa el residuo que queda de la división entera
Operadores Es equivalente al valor que sobra después de dividir un valor entre
en Detall otro para producir un valor entero
23
El Resultado es 2 porque
14 // 4 da como resultado un 3 → esta es la parte entera, es decir el cociente
Residuo(Módulo)
3 * 4 da como resultado 12 → como resultado de la multiplicación entre el cociente y el divisor
14 - 12 da como resultado 2 → este es el residuo
No se puede dividir por 0, al Dividir por 0 se lanza una excepción ZeroDivisionError!!
e
Para sumar y restar se utilizan los símbolos + y - respectivamente.
Operadores
en Detall
24
También el simbolo - permite cambiar el signo de un literal o
variable. Se conoce como operador unario
Suma, resta y
operadores
unários
e
Los operadores se priorizan en una primera instancia al igual que matemáticas
(Paréntesis primero, división/multiplicación finalmente suma/resta)
Operadores
en Detall El enlace de los operadores es siempre de izquierda a derecha exceptuando
un único que se enlaza de derecha a izquierda
Esto ultimo es sumamente importante para la certificación!!!
25
Prioridades y
enlazado
Linea 1: 12.0
Linea 2: 13.0
Linea 3: 3.5 El operador de exponenciación se
Linea 4: 256 evalúa de derecha a izquierda
e
Las variables permiten almacenar resultados de operaciones o producto de la entrada del usuario a lo
largo de la ejecución del programa
Variable Una variable se compone de un nombre y un valor
El tipo de la variable puede cambiar a lo largo de la ejecución del programa, no es algo
recomendado pero prepárate para verlo en el examen
Si queremos evaluar el tipo de una variable en tiempo de ejecución podemos usar la función type
26
s
Normas en las
variable El nombre de la variable debe de estar compuesto por MAYUSCULAS, minúsculas,
dígitos, y el carácter _ (guion bajo).
El nombre de la variable debe comenzar con una letra.
El carácter guion bajo es considerado una letra.
Las mayúsculas y minúsculas se tratan de forma distinta (un poco diferente que en el
mundo real - Alicia y ALICIA son el mismo nombre, pero en Python son dos nombres 27
de variable distintos, subsecuentemente, son dos variables diferentes).
El nombre de las variables no pueden ser igual a alguna de las palabras reservadas
de Python (se explicará más de esto pronto)
s
Ejercicios
¿Cuales
funcionan
28
◎ Linea 1: OK
◎ Linea 2: Error, No puede partir en numero
◎ Linea 3: OK
◎ Linea 4: OK
◎ Linea 5: OK
!
Palabras
reservada Las siguientes palabras no se pueden utilizar para nombras variables
['False', 'None', 'True', 'and', 'as', 'assert', 'break',
'class', 'continue', 'def', 'del', 'elif', 'else', 'except',
'finally', 'for', 'from', 'global', 'if', 'import', 'in',
'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise',
'return', 'try', 'while', 'with', ‘yield'
29
Fijate que puedes utilizar los nombres de funciones nativas de python,
como print
Esto ultimo sobrescribe su valor dejando inaccesible la función!!
.
Podemos utilizar todos los operadores básicos entre variables para
obtener un valor resultante
Operadores
abreviado
30
s
La función print es encargada de administrar el stdout
La función La función input es la encargada de administrar el stdin
input es una función con retorno. Su retorno siempre es un Strin
input( El resultado debe ser asignado a una variable, sino los datos se perderá
Mucho ojo con operaciones que parecen ser correctas pero que presentan Type Error!
31
)
Python ofrece funciones nativas del lenguaje para convertir desde y hacia
Conversión de string
datos o castin Si se trata de convertir una cadena no representable en un tipo particular
se produce un ValueError
32
Concatenación A diferencia de otros lenguajes, si queremos concatenar una cadena
entre tipo con algún tipo diferente debemos aplicar cast
33
s
Ejercicios Tipo Certificación
● B
Ejercicios Tipo Certificación
● AyB
Ejercicios Tipo Certificación
● AyC
Ejercicios Tipo Certificación
● D
Ejercicios Tipo Certificación
● D
Ejercicios Tipo Certificación
● A yB
Lo que
hemos visto
La función print y todas sus posibles construcciones
La función input y sus dos formas
Los tipos de datos básicos de Python (float,bool,int,str) 40
La conversión entre estos tipos
Los operadores aritméticos aplicados a ellos
La definición de variables y el polimorfismo de Python