Está en la página 1de 42

Programando con Python

Introducción
¿Qué es Python?
 Python es un lenguaje de alto nivel, de propósito
general creado por Guido Van Rossum
 Primer lanzamiento en 1991
 Es de fácil aprendizaje
 Es portable y de plataforma independiente
 Es interpretado
 Es fuertemente tipado (no hay conversión automática)
 Una enorme cantidad de librerías
¿Qué se puede hacer con Python?

 Aplicaciones científicas
 Machine Learning
 IoT
 Aplicaciones web
 Juegos
 Aplicaciones Android
 Aplicaciones de Escritorio
¿Quién usa Python?

 Dropbox
 Disqus
 Reddit
 Quora
 Mozilla
 Google
 Youtube
Instalar Python

Dos formas:
 Desde el sitio oficial de Python:
 https://www.python.org/downloads/
 Descargar la versión para su sistema operativo y seguir las
instrucciones:
 Usando Anaconda:
 https://www.anaconda.com/distribution
Estilo “pythonista”

 Pyhton recomienda unas reglas de escritura para que el


código sea de fácil lectura
 Las mismas están contenidas en la documentación del
sitio oficial y se conocen como PEP 8 (Python
Enhacement Proposal)
 Se pueden ver en
https://www.python.org/dev/peps/pep-0008/
Variables
 No hace falta declarar el tipo de la variable
 La función type() nos permite determinar el tipo de una
variable
 La función print() nos permite imprimir el valor de una variable
 Recomendaciones PIP 8:
 Sólo se pueden usar letras (a-z, A-Z), el guion bajo (_) y números
(0-9)
 Deben comenzar con una letra o el guion bajo (_)
 No se pueden usar palabras reservadas (ver siguiente lámina)
 Pueden ser de cualquier longitud
 Python es sensitivo a mayúsculas y minúsculas: CASA y casa son
dos variables diferentes
Palabras reservadas en Python

False await else import pass


None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
Tipos de Datos
 Un tipo de dato define un conjunto de valores y las operaciones
que se pueden realizar con ellos.

Tipo de dato En Python Ejemplo


Enteros int 12, -99, 0, etc
Números reales float 4.5, -3.8, 15.0, etc
Caracteres str ‘hola’, “15.6”, ‘$$$’, etc
Booleanos bool True, False
Complejos complex 2 + 3j, 5 – j, etc
Comentarios
 Son usados para agregar notas a los programas
 Son ignorados por el interpretador de Python
 Es una buena práctica comentar los programas
 Todo lo que sucede al símbolo # es un comentario:
# esto es un comentario
 Los comentarios multilíneas se usan para documentar el
código, abre y cierran con tres (3) comillas dobles
“”” Esto es un comentario documental “””
Constantes

 En Python no hay una sintaxis definida (ver


recomendaciones PEP 8)
 Por convección se declaran usando mayúsculas
 Ejm:
MI_CONSTANTE = 100
Imprimir múltiples elementos con print()
 Se pueden imprimir múltiples elementos en una sola
llamada print(), separándolo con coma (,)
 Ejemplo: print(‘mensaje1’, 15, True)
 Es posible usar el formateado de string literales:
 Ejemplo:
year = 2016
event = ‘referéndum’
print(f’Resultados del {event} del año {year}’)
Imprimir múltiples elementos con print()
 Para una guía completa del uso de la función print():

https://realpython.com/python-print/
Asignación múltiple
 En Python es posible hacer asignación múltiple en una
sola línea, Ejemplo:
nombre, edad, carrera = ‘Juan’, 23, ‘ing telecom’
 Intercambio de variables, ejemplo:
x, y = 10, 20
x, y = y, x
Operadores Aritméticos
Operador Descripción Ejemplo
+ Operador de suma 100 + 45 = 145
- Operador de resta 500 – 65 = 435
* Operador de multiplicación 25 * 4 = 100
/ Operador de división flotante 10 / 2 = 5.0
// Operador de división entera 10 / 2 = 5
** Operador de exponenciación 5 ** 3 = 125
% Operador de resto (módulo) 10 % 3 = 1
Operadores compuestos

Operador Ejemplo Sentencia equivalente


+= x += 4 x=x+4
-= x -= 4 x=x–4
*= x *= 4 x=x*4
/= x /= 4 x=x/4
//= x //= 4 x = x // 4
%= x %= 4 x=x%4
**= x **= 4 x = x ** 4

 En Python no hay operadores de incremento (++) y decremento(--)


Funciones matemáticas incluidas
Función ¿qué hace? Ejemplo
abs(número) Retorna el valor absoluto de un número abs(-12) es 12
pow(a, b) Retorna ab pow(2, 3) es 8
round(número) Redondea al entero más cercano round(3.2) es 3
round(5.7) es 6
round(número, Redondea el número a ndígitos después round(3.14159, 2) es 3.14
ndígitos) del punto decimal round(2,71828, 2) es 2.72
min(arg1, arg2, Retorna el elemento más pequeño entre min(12, 2, 44, 199) es 2
…, argN) los argumentos min(4, -2, -99) es -99
max(arg1, Retorna el elemento más grande entre max(12, 2, 44, 199) es 199
arg2, …, argN) los argumentos max(4, -2, -99) es 4
Conversión de tipo

 Regla:
 Cuando ambos operandos son int el resultado es int
 Cuando ambos operando son float el resultado es float
 Cuando un operando es float y el otro es int el resultado es
float
Conversión de tipo

 Además podemos usar las siguientes funciones:

Nombre Descripción Ejemplo


de la
función
int() Acepta un string o número y retorna un valor int(2.7) retorna 2
int Int(“30”) retorna 30
float() Acepta un string o número y retorna un valor float(42) retorna 42.0
float float(“3.4”) retorna 3.4
str() Acepta cualquier valor y retorna un string str(12) retorna “12”
str(3.4) retorna “3.4”
Valores Truthy y Falsy
 Valores Truthy, son valores equivalentes al boolean True
 Valores Falsy, son valores equivalentes al boolean False

 En Python los siguientes valores son considerados falsy:


1. None
2. False
3. Cero, es decir 0, 0.0
4. Secuencias vacías, p.e: ‘’, [], ()
5. Diccionarios vacíos {}

 Todos los demás son truthy


 También se pueden probar con la función bool()
Operadores relacionales

Operador Descripción Ejemplo Valor de retorno


< Menor que 3<4 True
> Mayor que 90 > 450 False
<= Menor o igual que 10 <= 11 True
>= Mayor o igual que 31 >= 40 False
!= Diferente de 100 != 101 True
== Igual a 50 == 50 True

 En Python no hay operadores de incremento (++) y decremento(--)


Operadores lógicos
Operador Descripción
and Operador AND
or Operador OR
not Operador NOT

and or not
ope1 ope2 result ope1 ope2 result ope result
False False False False False False False True
False True False False True True True False
True False False True False True
True True True True True True
La función input()
 La función input([prompt]), permite ingresar datos de
tipo str desde el teclado, si el prompt está presente es
escrito como una línea nueva precedente a la entrada.
 Ejemplo:
>>>nombre = input(‘Ingrese su nombre: ’)
Ingrese su nombre: [Juan]
>>>type(nombre)
<class ‘str’>
Strings en Python
 Un string es una secuencia de caracteres encerrados en
comillas sencillas (‘’) o dobles(“”)
 Para contar el número de caracteres de un string se usa
la función len()
 Un string vacío (‘’ o “”), sigue siendo un string valido
Secuencias de escape
 Cuando son usados dentro de strings, Python los trata
como comandos especiales

Secuencia de Escape Significado


\n Imprime un carácter de salto de línea
\t Imprime un carácter de tabulación
\\ Imprime un carácter \
\’ Imprime una comilla sencilla
\” Imprime una comilla doble
Manipulación de strings
Concatenación:
 Se usa para generar un nuevo string a partir de dos o
más ya existentes.
 Se utiliza el símbolo +

Repetición:
 Permite repetir un string la cantidad de veces definida
 Se utiliza el símbolo *
Manipulación de strings
Membresía:
 Se usan los operadores in y not in, para verificar la
existencia de un string en otro. Ejemplo:
>>> s1 = ‘orientación a objetos’
>>> ‘tos’ in s1
>>> True
>>> ‘casa’ not in s1
>>> True
Manipulación de strings
Acceso a caracteres dentro de un string:
 Se hace de la misma manera que en un arreglo:
 Utilizando el índice, comenzando por cero (0)
 También se puede usar un índice negativo, en cuyo caso
comenzaría por -1, correspondiente al último carácter del
string
Manipulación de strings
Slicing – porciones de un string:
 Para obtener una porción de un string se usa el
operador slicing, cuya sintáxis es:
>>> str_name[índice_inicial : índice_final]
 El cual retorna un string que comienza con el índice
inicial y termina en el final, sin incluirlo.
 Ambos argumentos son opcionales
 También es posible usar los índices negativos como
argumentos
Strings son inmutables
 El contenido de un string no puede ser cambiado una vez
que ha sido creado.
 Prueba, usando la función id():
>>> s = ‘hola’
>>> id(s)
>>> 2650373809520
>>> s += ‘ mundo’
>>> id(s)
>>> 2650342921904
 Si se trata de cambiar un valor del string s, se genera un error,
probar s[0] = ‘k’
Métodos de la clase str
 La clase str posee muchos métodos para manipular
string, los clasificaremos en
 Búsqueda y reemplazo de substring en un string
 Prueba de strings
 Formato de strings
 Conversión de strings

 En Python, todo es un objeto. Un método es una función


dentro de un objeto. Los métodos son llamados usando
la notación
objeto.nombre_método(arg1, arg2, …, argN)
Métodos de prueba
 Prueban diferentes tipos de caracteres dentro del string

Método Descripción
str.isalnum() retorna True si todos los caracteres del string son alfanuméricos, de
lo contrario False
str.isalpha() retorna True si todos los caracteres del string son alfabéticos, de lo
contrario False
str.isdigit() retorna True si todos los caracteres del string son dígitos, de lo
contrario False
str.islower() retorna True si todos los caracteres del string están en minúsculas, de
lo contrario False
str.isupper() retorna True si todos los caracteres del string están en mayúsculas,
de lo contrario False
str.isspace() retorna True si todos los caracteres del string son espacios en blanco,
de lo contrario False
Búsqueda y reemplazo de string
 Usados para buscar o reemplazar un substring dentro
del string
Método Descripción
endswitch(sub) retorna True si el string termina con el substring sub. De lo
contrario False
startswitch(sub) retorna True si el string comienza con el substring sub. De lo
contrario False
find(sub) retorna el menor índice del string donde el substring sub sea
encontrado. De no ser encontrado retorna -1
rfind(sub) retorna el mayor índice del string donde el substring sub sea
encontrado. De no ser encontrado retorna -1
count(sub) retorna el número de ocurrencias del substring sub en el
string. De no haber ocurrencias retorna 0
replace(old, new) retorna un nuevo string después de reemplazar el substring
old por el new. Note que esto no cambia el objeto en el que
es llamado
Conversión de strings
 Usados para retornar una versión modificada del string

Método Descripción
lower() retorna una nueva copia del string después de convertir
todos sus caracteres a minúsculas
upper() retorna una nueva copia del string después de convertir
todos sus caracteres a mayúsculas
capitalize() retorna una nueva copia del string después de convertir a
mayúscula sólo la primera letra del string
title() retorna una nueva copia del string después de convertir a
mayúscula sólo la primera letra de cada palabra
swapcase() retorna una nueva copia del string después de invertir
mayúsculas con minúsculas y vice-versa
strip() retorna una nueva copia del string después de remover todos
los espacios en blanco al comienzo y al final del string
strip(chars) retorna una nueva copia del string después de remover char
Formato de strings
 Usados para formatear un string

Método Descripción
center(ancho) retorna una nueva copia del string después de centrarlo en
un campo de la longitud del ancho suministrado
ljust(ancho) retorna una nueva copia del string después de justificarlo a la
izquierda en un campo de la longitud del ancho suministrado
rjust(ancho) retorna una nueva copia del string después de justificarlo a la
derecha en un campo de la longitud del ancho suministrado
Formateando números
 Siempre se nos presenta que deseamos mostrar los
números con un formato determinado.
 Para ello usamos la función format().
 La sintaxis es la siguiente:
format(valor, especificador de formato)
Formateando números
Especificadores de formato:
float: ancho.precisiónf
científica: ancho.precisiónE (o e)
float con separador de miles: ancho,.precisionf
porcentaje: ancho.precisión%
decimal: d
binario: n
hexadecimal: x
octal: o
Formateando números
 Cambiando la alineación por defecto(a la derecha):
Símbolo Descripción
> Alinea la salida a la derecha dentro del ancho especificado
< Alinea la salida a la izquierda dentro del ancho especificado

 Ejemplo:
>>> print(format(3.14159, “<10.2f”))
3.14_ _ _ _ _ _
 Note que el format(3.14159, “>10.2f”) y
el format(3.14159, “10.2f”) son equivalentes
>>> print(format(3.14159, “>10.2f”))
_ _ _ _ _ _ 3.14
Formateando strings
 Similar a los números:
 Especificador de formato: “ancho s”
 Ejemplo:
>>> print(format(“Python”, “10s”))
>>>Python_ _ _ _
10 (ancho)

P y t h o n

4 (vacíos)
Formateando strings
 Támbien se puede modificar la lineación:
>>> print(format(“Python”, “>10s”))
>>>_ _ _ _ Python
10 (ancho)

P y t h o n

4 (vacíos)
Formateando strings
 Formateando con “f-string”:
 Ejemplo:
>>> nombre = ‘Pepe’
>>> f’Mi nombre es {nombre}’
‘Mi nombre es Pepe’
>>> f’Raiz cuadrada de 2: {2 ** 0.5 : 5.3f }’
‘Raiz cuadrada de 2: 1.414’
Hasta la próxima clase

También podría gustarte