Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Duración = 10:07:35
https://youtu.be/Kp4Mvapo5kc
RECURSOS
Utilizar nombres descriptivos: Elegir nombres que sean claros y describan la función o
contenido del fichero. Evitar nombres genéricos como "archivo.py" o "codigo_final.py". En
su lugar, utilizar nombres que indiquen el propósito o el tema principal del fichero.
Utilizar minúsculas y guiones bajos: En Python, es común utilizar minúsculas y guiones bajos
para separar las palabras en los nombres de los ficheros. Por ejemplo, en lugar de
"MiArchivo.py", es preferible usar "mi_archivo.py" o "miarchivo.py". Esta convención se
conoce como snake_case.
1. Espacios: Evita utilizar espacios en los nombres de fichero. En su lugar, puedes utilizar
guiones bajos (_) o guiones (-) para separar las palabras.
2. Acentos y diacríticos: Evita utilizar acentos, diacríticos u otros caracteres especiales que no
sean alfanuméricos.
Ejemplo incorrecto: "fichéro.py"
Evita nombres demasiado largos: Aunque es importante que los nombres sean descriptivos,
trata de no hacerlos excesivamente largos. Nombres demasiado largos pueden dificultar la
lectura del código y aumentar la probabilidad de cometer errores al escribir o referenciar los
nombres.
COMENTARIOS
Comentario de 1 línea
# Hola mundo
1 forma
"""
Este es un
comentario
de varias
líneas
"""
2 forma
'''
Este es un
comentario
de varias
líneas
'''
MENSAJES
print("Hola Python")
print('Hola Python')
TIPO DE DATOS
Números enteros (int): Representa números enteros sin parte decimal. Por ejemplo: 1, 100,
-10.
Números de punto flotante (float): Representa números con parte decimal. Por ejemplo:
3.14, -0.5, 2.0.
Números complejos (complex): Representa números complejos con una parte real y una
parte imaginaria. Por ejemplo: 1 + 2j, -3j.
Cadenas de texto (str): Representa una secuencia de caracteres. Las cadenas se pueden
crear utilizando comillas simples ('') o comillas dobles (""). Por ejemplo: "Hola", 'Python',
"123".
Booleanos (bool): Representa un valor de verdad, que puede ser Verdadero (True) o Falso
(False). Se utilizan en operaciones de lógica y control de flujo. Por ejemplo: True, False.
Listas (list): Representa una colección ordenada y mutable de elementos. Puedes almacenar
diferentes tipos de datos en una lista. Se crean utilizando corchetes ([]). Por ejemplo: [1, 2,
3], ['a', 'b', 'c'].
Tuplas (tuple): Similar a las listas, pero son inmutables, lo que significa que no se pueden
modificar una vez creadas. Se crean utilizando paréntesis (()). Por ejemplo: (1, 2, 3), ('a', 'b',
'c').
Diccionarios (dict): Representa una colección de pares clave-valor. Cada valor está asociado
con una clave única, lo que permite acceder a los valores mediante sus claves. Se crean
utilizando llaves ({}) y dos puntos (:) para separar las claves y los valores. Por ejemplo:
{'nombre': 'Juan', 'edad': 30}.
OPERADORES EN PYTHON
print(2 + 3) # suma(+)
print(3 - 1) # resta(-)
print(2 * 3) # multiplicación(*)
print(3 / 2) # division(/)
print(3 ** 2) # exponencial**)
print(3 % 2) # modulo(%)
print(3 // 2) # Operador de división de pisos(//)
numero = 15
VARIABLES
Utiliza nombres descriptivos: Elegir nombres que sean claros y describan el propósito o
contenido de la variable. Evitar nombres genéricos como "x" o "var1". En su lugar, utiliza
nombres que reflejen el significado de la variable en el contexto de tu código.
Utiliza letras minúsculas y guiones bajos: En Python, es común utilizar minúsculas y guiones
bajos para separar las palabras en los nombres de variables. Por ejemplo, en lugar de
"miVariable", es preferible usar "mi_variable" o simplemente "variable". Esta convención se
conoce como snake_case.
Evita caracteres especiales y espacios: En general, evita el uso de caracteres especiales,
espacios o acentos en los nombres de variables. Esto puede causar problemas y confusiones
en el código. Solo se permite el uso de letras, números y guiones bajos en los nombres de
variables.
Utiliza nombres significativos, pero no demasiado largos: Los nombres de variables deben
ser descriptivos, pero también es importante no hacerlos excesivamente largos. Nombres
demasiado largos pueden dificultar la lectura y escritura del código. Intenta encontrar un
equilibrio entre claridad y concisión.
Ejemplos:
edad = 25
Se imprimen en pantalla:
print(nombre_completo)
print(edad)
Ejemplo:
edad = 25
nombre_completo = "Juan Pérez"
OPERADORES
Operadores aritméticos:
Addition (+): a + b
Subtraction (-): a - b
Multiplication (*): a * b
Division (/): a / b
Modulus (%): a % b
Floor division (//): a // b
Exponentiation (**): a ** b
Ejemplo de enteros
print('Addition: ', 1 + 2) #3
print('Subtraction: ', 2 - 1) #1
print('Multiplication: ', 2 * 3) # 6
print ('Division: ', 4 / 2) # 2.0 Division in Python gives floating number
print('Division: ', 6 / 2) # 3.0
print('Division: ', 7 / 2) # 3.5
print('Division without the remainder: ', 7 // 2) # 3, gives without the floating number or without the
remaining
print ('Division without the remainder: ',7 // 3) # 2
print('Modulus: ', 3 % 2) # 1, Gives the remainder
print('Exponentiation: ', 2 ** 3) # 9 it means 2 * 2 * 2
Ejemplo de flotantes
total = a + b
diff = a - b
product = a * b
division = a / b
remainder = a % b
floor_division = a // b
exponential = a ** b
# I should have used sum instead of total but sum is a built-in function - try to avoid overriding built-
in functions
print(total) # if you do not label your print with some string, you never know where the result is
coming from
Operadores de comparación
Nota = También se puede hacer comparaciones con str y principalmente si se pone solo los str
hará una comparación alfabética
Ejemplo de comparación
print('1 is 1', 1 is 1) # True - because the data values are the same
print('1 is not 2', 1 is not 2) # True - because 1 is not 2
print('A in Asabeneh', 'A' in 'Asabeneh') # True - A found in the string
print('B in Asabeneh', 'B' in 'Asabeneh') # False - there is no uppercase B
print('coding' in 'coding for all') # True - because coding for all has the word coding
print('a in an:', 'a' in 'an') # True
print('4 is 2 ** 2:', 4 is 2 ** 2) # True
Operadores logicos
print(3 > 2 and 4 > 3) # True - because both statements are true
print(3 > 2 and 4 < 3) # False - because the second statement is false
print(3 < 2 and 4 < 3) # False - because both statements are false
print('True and True: ', True and True)
print(3 > 2 or 4 > 3) # True - because both statements are true
print(3 > 2 or 4 < 3) # True - because one of the statements is true
print(3 < 2 or 4 < 3) # False - because both statements are false
print('True or False:', True or False)
print(not 3 > 2) # False - because 3 > 2 is true, then not True gives False
print(not True) # False - Negation, the not operator turns true to false
print(not False) # True
print(not not True) # True
print(not not False) # False
STRINGS
nombre_cliente = "Jonathan"
apellido_cliente = "Acevedo"
print(len(nombre_cliente))
print(len(apellido_cliente))
# Concatenar strings +
print(frase)
# tabulación (\t)
print(comentario)
FORMATEO DE STRINGS
El formateo de strings en Python se refiere a la técnica que permite combinar valores variables con
una cadena de texto para crear una nueva cadena formateada. Esto facilita la construcción de strings
dinámicos y personalizados en función de los valores que deseas incluir.
%d - Integers
%f - Floating point numbers (en este se pone %2f) el 2 significa puntos de precisión
# Formateo
nombre_mascota = "Paco"
edad_mascota = 7
# Inferencia de datos
# Desempaquetado de caracteres
raza_mascota = "Pincher"
a, b, c, d, e, f, g = raza_mascota
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)
#python 2023
# 0 1 2 3 4 5 6 7 8 9 10 (índices)
print(nombre_curso[0])
print(nombre_curso[0:6])
print(nombre_curso[7:])
print(nombre_curso[:6])
# Reversa
print(nombre_curso[::-1])
# Saltos (El 2 significa para que vaya de dos en dos y esos caracteres no los cuente)
print(nombre_curso[0:11:2])
Objetos Mutables:
Los objetos mutables son aquellos que pueden cambiar después de ser creados. Esto significa que se
pueden modificar sus valores, agregar nuevos elementos o eliminar elementos existentes sin crear
un nuevo objeto.
Algunos ejemplos de objetos mutables en Python son las listas (list), los conjuntos (set) y los
diccionarios (dict).
Si se asigna una variable a un objeto mutable y se modifica ese objeto, cualquier otra variable que se
haya asignado al mismo objeto también reflejará los cambios.
Objetos Inmutables:
Los objetos inmutables son aquellos que no pueden cambiar después de ser creados. Esto significa
que no se pueden modificar sus valores una vez que han sido asignados. Si se intenta modificar un
objeto inmutable, se creará un nuevo objeto con los nuevos valores.
Algunos ejemplos de objetos inmutables en Python son las tuplas (tuple), los números (int, float), las
cadenas de texto (str) y las tuplas congeladas (frozen sets).
Al asignar una variable a un objeto inmutable y realizar operaciones que implican cambios, se crea
un nuevo objeto en lugar de modificar el existente.
LISTAS
En Python, una lista es una estructura de datos que se utiliza para almacenar una colección
ordenada de elementos. Puedes pensar en ella como una secuencia mutable de elementos, donde
cada elemento tiene una posición única en la lista.
Se pueden agregar diferentes tipos de datos, ejemplo: mi_lista = [1, "Hola", True, 3.14]
SINTAXIS
nombre_lista = [] -> Esta es una sintaxis más concisa y fácil de leer, y es ampliamente utilizada por
los programadores de Python.
mi_lista = list() -> Se utiliza principalmente cuando necesitas crear una lista vacía y luego agregar
elementos de forma dinámica a medida que avanzas en tu código.
USO
Se puede usar funciones del sistema en las listas, por ejemplo: print(len(mi_lista)) esto
contara los elementos en la lista.
Imprimir datos, por ejemplo: print(mi_lista[índice]) el índice es la posición del dato y siempre
empieza con un orden de 0,1,2,3,4,5… Si se empieza con negativo ahora la posición seria -1,-
2-3,-4… pero de derecha a izquierda.
print(tipo_mascotas + Cliente)
# Agregar un elemento después de x tiempo con la operación. append = adjuntar (Se adjunta
al final de la lista)
tipo_mascotas.append("Roedor")
print(tipo_mascotas)
# tipo_mascotas.insert(índice, dato)
tipo_mascotas.insert(0, "Insecto")
print(tipo_mascotas)
# Eliminar un valor especifico
tipo_mascotas.remove("pez")
print(tipo_mascotas)
del tipo_mascotas[3]
print(tipo_mascotas)
Insertar, adjuntar, eliminar por índice, eliminar por dato, eliminar lista, actualizar datos, ordenar,
etc...
TUPLAS
las tuplas son una estructura de datos inmutable que permite almacenar múltiples elementos. Se
definen mediante paréntesis () y los elementos se separan por comas. A diferencia de las listas, las
tuplas no se pueden modificar una vez creadas, lo que significa que no se pueden agregar, eliminar o
modificar elementos individualmente.
Las tuplas son útiles en situaciones donde se necesite almacenar un conjunto de valores que no
deben cambiar, como coordenadas, información de fechas o datos relacionados. Algunas de las
razones por las que puedes utilizar tuplas en Python son:
Secuencias inmutables: Las tuplas son útiles cuando necesitas garantizar que los datos no
sean modificados accidental o intencionalmente. Esto puede ser importante en situaciones
donde se necesita preservar la integridad de los datos.
Intercambio de valores: Puedes intercambiar los valores de dos variables utilizando tuplas
sin necesidad de una variable temporal adicional. Esto se conoce como asignación múltiple y
es una característica útil de Python.
Claves de diccionario: Las tuplas se pueden utilizar como claves de diccionario, a diferencia
de las listas que no son hasheables y, por lo tanto, no pueden ser utilizadas como claves.
Retorno múltiple de funciones: Las funciones en Python pueden devolver múltiples valores
utilizando tuplas. Puedes empaquetar varios valores en una tupla y luego desempaquetarlos
cuando la función sea llamada.
# Estructura de tupla
My_tuple = tuple()
# Estructura para poner valores
print(My_tuple[0])
print(My_other_tuple[1])
# Función count
print(My_tuple.count(20))
print(My_other_tuple.count("Jonathan"))
# Función index
print(My_tuple.index(20))
print(My_other_tuple.index("Acevedo"))
print(Suma)
print(Suma[2:5])
My_tuple = list(My_tuple)
print(My_tuple)
print(type(My_tuple))
My_tuple.append("Verde")
print(My_tuple)
del My_tuple
SETS
Un set (conjunto) es una colección desordenada y mutable de elementos únicos. Se utiliza para
almacenar varios elementos en un solo objeto, sin tener en cuenta el orden en que se agregan los
elementos, y garantiza que no haya duplicados.
Filtrado de elementos: Puedes utilizar sets para filtrar elementos comunes entre dos
conjuntos. Al realizar operaciones de conjunto, puedes encontrar los elementos que son
comunes entre dos sets o aquellos que son exclusivos de uno u otro set.
Iteración eficiente: Los sets son iterables, lo que significa que puedes recorrer sus elementos
de manera eficiente utilizando bucles for. A diferencia de las listas, los sets no mantienen un
orden específico, por lo que no se puede acceder a sus elementos mediante índices.
# Operaciones
my_set = set()
my_other_set = {} # Si no se ponen valores Python lo toma como diccionario
print(type(my_other_set))
# Eliminar datos
my_other_set.remove("Jonathan")
print(my_other_set)
# Borrar todos los elementos
my_other_set.clear()
print(my_other_set)
# Eliminar el set
del my_other_set
"""
Unión:La unión de dos sets devuelve
un nuevo set que contiene todos los
elementos presentes en ambos sets,
sin duplicados.
"""
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2) # 1 forma
union_set = set1 | set2 # 2 forma
"""
Intersección: La intersección de dos sets
devuelve un nuevo set que contiene solo
los elementos que están presentes en
ambos sets.
"""
set1 = {1, 2, 3}
set2 = {3, 4, 5}
intersection_set = set1.intersection(set2) # 1 forma
intersection_set = set1 & set2 # 2 forma
"""
Diferencia: La diferencia de dos sets
devuelve un nuevo set que contiene los
elementos presentes en el primer set
pero no en el segundo set.
"""
set1 = {1, 2, 3}
set2 = {3, 4, 5}
difference_set = set1.difference(set2) # 1 forma
difference_set = set1 - set2 # 2 forma
print(difference_set) # Output: {1, 2}
"""
Diferencia simétrica: La diferencia
simétrica de dos sets devuelve un
nuevo set que contiene los elementos
que están en uno de los sets pero no
en ambos.
"""
set1 = {1, 2, 3}
set2 = {3, 4, 5}
symmetric_difference_set = set1.symmetric_difference(set2) # 1 forma
symmetric_difference_set = set1 ^ set2 # 2 forma
"""
Comprobación de subconjunto: Puedes verificar
si un set es un subconjunto de otro set utilizando
el método issubset() o el operador <=. Devuelve True
si todos los elementos del primer set están presentes
en el segundo set.
"""
set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5}
print(set1.issubset(set2)) # 1 forma
print(set1 <= set2) # 2 forma
"""
Comprobación de superconjunto: Puedes verificar si un set
es un superconjunto de otro set utilizando el método
issuperset() o el operador >=. Devuelve True si todos los
elementos del segundo set están presentes en el primer set.
"""
set1 = {1, 2, 3, 4, 5}
set2 = {1, 2, 3}
print(set1.issuperset(set2)) # 1 forma
print(set1 >= set2) # 2 forma
"""
Eliminar elementos (remove() o discard()): Puedes eliminar un
elemento de un set utilizando el método remove() o discard().
La diferencia entre ambos es que remove() generará un error si
el elemento no está presente en el set, mientras que discard()
no generará ningún error.
"""
my_set = {1, 2, 3}
my_set.remove(2) # 1 forma
my_set.discard(3) # 2 forma
"""
Copiar un set (copy()): Puedes copiar un set para crear un nuevo
set independiente utilizando el método copy().
"""
set1 = {1, 2, 3}
set2 = set1.copy()
"""
Eliminación de elementos comunes (intersection_update() o &=): Puedes
eliminar los elementos del set que no están presentes en otro set
utilizando el método intersection_update() o el operador &=.
"""
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set1.intersection_update(set2) # 1 forma
set1 &= set2 # 2 forma
"""
Unión de sets (update() o |=): Puedes agregar elementos de otro set a un
set existente utilizando el método update() o el operador |=.
"""
set1 = {1, 2, 3}
set2 = {3, 4, 5}
set1.update(set2) # 1 forma
set1 |= set2 # 2 forma
"""
Diferencia entre sets (difference_update() o -=): Puedes eliminar los
elementos de un set que también están presentes en otro set utilizando
el método difference_update() o el operador -=.
"""
set1 = {1, 2, 3, 4, 5}
set2 = {3, 4}
set1.difference_update(set2) # 1 forma
set1 -= set2 # 2 forma
"""
Eliminación de elementos comunes y no comunes (symmetric_difference_update() o
^=):
Puedes modificar un set para contener solo los elementos que están en uno de
los sets
pero no en ambos utilizando el método symmetric_difference_update() o el
operador ^=.
"""
set1 = {1, 2, 3}
set2 = {3, 4}
set1.symmetric_difference_update(set2) # 1 forma
set1 ^= set2 # 2 forma
"""
Comprobación de disyunción (isdisjoint()): Puedes verificar si dos sets son
disyuntos,
es decir, si no tienen elementos en común, utilizando el método isdisjoint().
Devuelve
True si los sets no tienen elementos en común y False en caso contrario.
"""
set1 = {1, 2, 3}
set2 = {4, 5, 6}
"""
Eliminación de elementos aleatorios (pop()): Puedes eliminar y devolver un
elemento aleatorio
de un set utilizando el método pop(). Debido a que los sets no están
ordenados, el elemento
eliminado será impredecible.
"""
my_set = {1, 2, 3, 4, 5}
removed_element = my_set.pop()
"""
Comprobación de igualdad (==): Puedes verificar si dos sets son iguales, es
decir, si tienen
los mismos elementos, utilizando el operador de igualdad ==.
"""
set1 = {1, 2, 3}
set2 = {3, 2, 1}
"""
Comprobación de desigualdad (!=): Puedes verificar si dos sets son diferentes,
es decir, si no
tienen los mismos elementos, utilizando el operador de desigualdad !=.
"""
set1 = {1, 2, 3}
set2 = {4, 5, 6}
DICCIONARIO
Un diccionario es una estructura de datos que se utiliza para almacenar y organizar elementos de
manera eficiente. Se trata de una colección mutable de pares clave-valor, donde cada clave es única
y se utiliza para acceder a su respectivo valor.
A diferencia de las listas o las tuplas, que se acceden mediante un índice numérico, los diccionarios
permiten acceder a los valores asociados a una clave específica. Esto los hace especialmente útiles
cuando se necesita buscar, actualizar o eliminar elementos según una clave personalizada, en lugar
de un índice fijo.
Los diccionarios en Python son extremadamente versátiles y se utilizan en una amplia variedad de
situaciones. Algunas de las aplicaciones comunes de los diccionarios son:
Búsqueda eficiente: Los diccionarios permiten buscar rápidamente un valor asociado a una
clave, lo que puede ser útil cuando se necesita recuperar información de manera eficiente
en función de una identificación única.
Mapeo de datos: Los diccionarios se utilizan para establecer relaciones entre diferentes
conjuntos de datos. Por ejemplo, se pueden utilizar para almacenar traducciones de
palabras, nombres de variables y sus valores correspondientes, y otras relaciones de datos
complejas.
## DICCIOANARIO##
my_dict = dict()
my_other_dict = {1: "Primer registro",
"Nombre": "Jonathan",
"Apellido": "Acevedo",
"Edad": 20}
print(type(my_dict))
print(type(my_other_dict))
my_dict = {
1: "Primer registro",
"Nombre": "Jonathan",
"Apellido": "Acevedo",
"Edad": 20,
"Lenguajes": ["Python", "C++", "Java", "C#", "C"]
}
print(my_other_dict)
print(my_dict)
print(my_dict.items())
print(my_dict.keys())
print(my_dict.values())
CONDICIONALES
Son estructuras de control que permiten tomar decisiones en función de una condición o conjunto
de condiciones. Los condicionales se utilizan para controlar el flujo del programa, ejecutando
diferentes bloques de código según se cumplan o no ciertas condiciones.
## CONDICIONALES ##
# NOTA: se pueden usar varios operadores con los if
my_conditionals = True
my_name = "Jonathan"
my_last_name = "Acevedo"
color_1 = "Rojo"
color_2 = "Azul"
Age_1 = 0
# Intento 1
if my_conditionals:
print("Hola")
else:
print("Adios")
# Intento 2
if my_name == "Jonathan":
print("Hola Jonathan")
else:
print("No eres Jonathan")
# Intento 3
# Intento 5
# Intento 6 "Concatenar"
numero = 10
if numero > 0:
print("El número es positivo.")
if numero % 2 == 0:
print("El número es par.")
# O
numero = 10
BUCLES/LOOPS/CICLOS
Son estructuras de control que te permiten repetir un bloque de código varias veces. Los bucles son
útiles cuando quieres ejecutar una acción o un conjunto de acciones repetidamente, ya sea un
número fijo de veces o mientras se cumpla una condición específica.
## BUCLES/LOOPS/CICLOS ##
# WHILE
El bucle "while" se utiliza cuando deseas repetir un bloque de código mientras se cumpla una
condición específica.
El bloque de código se ejecutará repetidamente mientras la condición sea evaluada como verdadera.
Es importante asegurarse de que la condición se vuelva falsa en algún momento para evitar un bucle
infinito.
Dentro de los bucles, puedes utilizar instrucciones de control como "break" y "continue" para alterar
el flujo de ejecución. "Break" se utiliza para salir del bucle por completo, mientras que "continue" se
utiliza para saltar a la siguiente iteración sin ejecutar el resto del bloque de código.
# intento 1
my_condition = 0
# Intento 2
my_condition_2 = 0
# Intento 3
my_condition_3 = 0
# FOR
Se utiliza para iterar sobre una secuencia (como una lista, una cadena de texto, una tupla o un
rango) y ejecutar un bloque de código para cada elemento de la secuencia.
## BUCLES/LOOPS/CICLOS ##
# FOR
# Intento 1
# Intento 2
# Intento 3
numero = 5
FUNCIONES
una función es un bloque de código reutilizable que se define con un nombre y puede tomar uno o
más argumentos como entrada, realizar un conjunto de operaciones y devolver un resultado
opcional. Las funciones son una forma eficiente de organizar y reutilizar el código, ya que permiten
agrupar un conjunto de instrucciones en una sola entidad lógica.
Las funciones en Python se definen utilizando la palabra clave def, seguida del nombre de la función
y paréntesis que pueden contener los argumentos de la función. Aquí tienes la sintaxis básica de una
función en Python:
def nombre_de_la_funcion(argumentos):
# bloque de código
# operaciones
return resultado # opcional
Donde:
Argumentos: son los valores de entrada que la función puede recibir. Pueden ser cero o más
argumentos separados por comas. Estos argumentos son opcionales, es decir, una función
puede no tener argumentos si no los necesita.
Return: es una palabra clave opcional que se utiliza para devolver un resultado o valor
calculado por la función. Una función puede tener múltiples declaraciones de retorno, pero
solo se ejecutará la primera vez que se encuentre.
Una vez que has definido una función, puedes llamarla o invocarla en cualquier parte de tu
programa para ejecutar el código dentro de ella. Para llamar a una función, simplemente utilizas el
nombre de la función seguido de paréntesis, pasando los valores de los argumentos si es necesario.
## FUNCIONES ##
# Intento 1
def my_function():
print("Hola Mundo")
my_function()
# Intento 2
suma(5, 4)
# Intento 3
Total = div(10, 2)
print(Total)
Total = divi(20, 2)
print(Total)
my_introduction("Jonathan", "Acevedo")
my_introduction("Jonathan", "Acevedo", "Jona")
def my_text(text):
print(text)
my_text("Hola mundo")
def my_texto(*text):
print(text)
CLASES
las clases son estructuras fundamentales de la programación orientada a objetos (POO). Una clase es
un tipo de dato personalizado que te permite definir atributos y métodos relacionados en un solo
objeto. Puedes pensar en una clase como un plano o una plantilla para crear objetos específicos.
Las clases en Python se definen utilizando la palabra clave class, seguida del nombre de la clase (que
generalmente se escribe en CamelCase).
Dentro de una clase, puedes definir atributos, que son variables asociadas a la clase, y métodos, que
son funciones definidas en la clase. Los atributos y métodos encapsulan datos y comportamientos
específicos de la clase.
Por ejemplo, podrías tener una clase llamada Perro que tenga atributos como nombre, edad y raza, y
métodos como ladrar() y correr(). Puedes crear objetos o instancias de una clase utilizando su
constructor, que es una función especial llamada __init__() en Python.
## CLASS ##
# El pass sirve para dejar una clase vacía
class MyEmptyperson:
pass
class Person:
def __init__(self, name, lastname, age):
self.name = name
self.lastname = lastname
self.age = age
print(my_person.name)
print(my_person.lastname)
print(my_person.age)
print(
f"El nombre del cliente es: {my_person.name} {my_person.lastname} de
{my_person.age} años")
class Pets:
def __init__(self, name, lastname, age, race, owner):
self.full_name = f"Nombre de la mascota: {name} {lastname}, edad:
{age}, raza: {race} y el propietario es {owner}"
my_pet = Pets("Paco", "Acevedo", 7, "Pincher", "Jonathan Acevedo")
print(my_pet.full_name)
# Intento 3 con atributos y funciones o metodos
class Employee:
def __init__(self, name="", second_name="", lastname_one="",
lastname_two="", employment="", salary=0):
self.full_name = f"{name} {second_name} {lastname_one} {lastname_two}"
self.name = name
self.second_name = second_name
self.lastname_one = lastname_one
self.lastname_two = lastname_two
self.employment = employment
self.salary = salary
def salario_semestral(self):
total = self.salary * 6
return total
def salario_anual(self):
return self.salary * 12
print(employee_1.full_name)
print(employee_1.salario_semestral())
print(employee_1.salario_anual())
print(employee_2.full_name)
print(employee_2.salario_semestral())
print(employee_2.salario_anual())
EXEPCIONES
Una excepción es un evento que ocurre durante la ejecución de un programa y que interrumpe el
flujo normal de ejecución. Las excepciones se utilizan para manejar situaciones de error o eventos
inesperados que pueden ocurrir durante la ejecución de un programa.
Cuando ocurre una excepción, se lanza un objeto de excepción que contiene información sobre el
tipo de excepción y el lugar donde ocurrió. Si no se maneja adecuadamente, la excepción puede
hacer que el programa se detenga y se muestre un mensaje de error.
En Python, las excepciones se manejan utilizando bloques de código try-except. Dentro del bloque
try se coloca el código que puede generar una excepción, y dentro del bloque except se coloca el
código que se ejecutará si se produce una excepción. El bloque except puede especificar el tipo de
excepción que se va a manejar o puede manejar múltiples tipos de excepciones.
try:
# Código que puede generar una excepción
resultado = 10 / 0 # División por cero, generará una excepción
ZeroDivisionError
except ZeroDivisionError:
# Código que se ejecuta si se produce una excepción ZeroDivisionError
print("Error: División por cero.")
## EXEPCIONES ##
number_one = 19
# number_two = 1
number_two = "1"
# try - except
try:
print(number_one + number_two)
print("Sin error")
except:
# Se ejecuta si se produce una exepción
print("ERROR DE COHERENCIA")
try:
print(number_one + number_two)
print("Sin error")
except:
print("ERROR DE COHERENCIA")
else:
# Se ejecuta si no produce una exepción
print("SIGUE CORRECTAMENTE")
# try - except - else - finaly
try:
print(number_one + number_two)
print("Sin error")
except:
print("ERROR DE COHERENCIA")
else: # Opcional
# Se ejecuta si no produce una exepción
print("SIGUE CORRECTAMENTE")
finally: # Opcional
# Se ejecuta siempre
print("SIGUE CORRECTAMENTE SIN PROBLEMAS")
try:
print(number_one + number_two)
print("Sin error")
except TypeError:
# Se ejecuta si se produce una exepción
print("ERROR DE COHERENCIA POR TYPE")
try:
print(number_one + number_two)
print("Sin error")
except TypeError:
# Se ejecuta si se produce una exepción
print("ERROR DE COHERENCIA POR TYPE")
except ValueError:
# Se ejecuta si se produce una exepción
print("ERROR DE COHERENCIA POR VALUES")
try:
print(number_one + number_two)
print("Sin error")
except ValueError as error:
# Se ejecuta si se produce una exepción
print(error)
except Exception as exepcition_error: #CON Exception TOMARA CUALQUIER ERROR
NO ESPECIFICADO (exepción generica)
# Se ejecuta si se produce una exepción
print(exepcition_error)
print("HOLA MUNDOO")
MÓDULOS
Un módulo en Python puede ser creado por el propio programador o puede ser un módulo
predefinido proporcionado por la biblioteca estándar de Python o por terceros. Los módulos
predefinidos incluyen una amplia gama de funcionalidades, como operaciones matemáticas, manejo
de archivos, acceso a bases de datos, procesamiento de cadenas, entre otros.
Para utilizar un módulo en Python, primero debe importarse en el programa. Esto se puede hacer
mediante la declaración import. Por ejemplo, para importar el módulo math, que proporciona
funciones matemáticas, se puede hacer de la siguiente manera:
import math
También es posible importar solo funciones específicas o darles un alias utilizando la declaración
from import. Por ejemplo:
Además de los módulos predefinidos, también es posible crear y utilizar módulos propios. Para
hacerlo, simplemente se crea un archivo Python con las definiciones y declaraciones deseadas, y
luego se puede importar y utilizar en otros programas.
SE CREA UN FICHERO.PY CON
FUNCIONES DE OPERACIONES DE:
+, -, * Y /.
SE IMPORTA EL FICHERO
ModuloHerramienta y uso las
funciones ya creadas.
## MODULES ##
ModuloHerramienta.suma(20, 27)
ModuloHerramienta.resta(10, 5)
ModuloHerramienta.multiplication(5, 5)
ModuloHerramienta.div(10, 2)
my_introduction("Kira", "Acevedo")
# MODULOS CREADOR POR EL SISTEMA
import math
print(math.pi)
print(math.pow(3, 2))