- 1

Fundamentos de Programación con Python para Principiantes
02:04 - 2

Instalación y Uso Básico de Python en Windows y Mac
08:10 - 3

Semántica y Sintaxis en Programación Python
10:15 - 4
Práctica: Te doy la bienvenida a los ejercicios interactivos
00:00 - 5

Manejo de Cadenas y Operaciones Básicas en Python
13:06 - 6

Tipos de Datos en Python: Enteros, Flotantes y Booleanos
07:22 - 7
Dominio de la función `print` en Python: usos y formatos avanzados
04:00 - 8

Operaciones matemáticas avanzadas en Python: módulo, potencia y más
11:01 - 9

Entrada de información y manejo de tipos de datos en Python
04:53
Programación Orientada a Objetos en Python: Clases y Métodos Básicos
Clase 23 de 63 • Curso de Python
Contenido del curso
- 23

Programación Orientada a Objetos en Python: Clases y Métodos Básicos
14:11 - 24

Gestión de Biblioteca con Programación Orientada a Objetos
18:07 - 25

Herencia y Polimorfismo en Programación Orientada a Objetos
13:57 - 26

Programación Orientada a Objetos: Implementación de Clases y Herencia
13:10 - 27

Polimorfismo en Programación Orientada a Objetos
06:21 - 28

Herencia y Uso de la Función super() en Python
07:28 - 29
Programación Orientada a Objetos: Atributos, Métodos y `super()` en Python
05:06
- 37
Programación Avanzada en Python: POO, Excepciones y Proyectos
01:45 - 38

Escritura de Código Pytónico y Buenas Prácticas en Python
03:58 - 39

Comentarios y Docstrings: Buenas Prácticas en Programación
07:01 - 40

Tiempo de vida y alcance de variables en Python
14:11 - 41

Anotaciones de Tipo en Python para Código Más Legible
13:12 - 42

Validación de Tipos y Manejo de Excepciones en Python
13:05 - 43

Estructuras de Datos Avanzadas en Python: Collection y Enumeraciones
13:15
- 47

Uso de Métodos Mágicos en Python
06:47 - 48
Sobrecarga de Operadores en Python: Personaliza Comportamiento de Clases
04:18 - 49

Ejecutar scripts Python con `if __name__ == '__main__'`
05:42 - 50

Metaprogramación en Python: Métodos `__new__` y `__init__`
03:59 - 51

Uso de *args y **kwargs en funciones de Python
14:32 - 52

Métodos y Atributos Privados y Protegidos en Python
09:26 - 53

Uso de Property en Python: Getter, Setter y Eliminación de Atributos
07:56 - 54

Métodos estáticos y de clase en Python
07:46
La programación orientada a objetos (POO) es un paradigma de la programación que se basa en organizar el software en objetos, los cuales son instancias de clases. Las clases actúan como plantillas genéricas que definen atributos y comportamientos. Por ejemplo, una clase “Persona” puede tener atributos como nombre, apellido y fecha de nacimiento.
¿Cómo se crean clases y objetos en Python?
Para crear una clase en Python, se utiliza la palabra reservada class seguida del nombre de la clase con la primera letra en mayúscula. Dentro de la clase, se define un constructor con la función __init__. Esta función inicializa los atributos del objeto.
Ejemplo de creación de una clase y objeto
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
print(f"Hola, mi nombre es {self.nombre} y tengo {self.edad} años")
# Crear objetos de la clase Persona
persona1 = Persona("Ana", 30)
persona2 = Persona("Luis", 25)
persona1.saludar()
persona2.saludar()
¿Qué son los métodos en una clase?
Los métodos son funciones definidas dentro de una clase que operan sobre los objetos de la misma. En el ejemplo anterior, saludar es un método de la clase Persona.
¿Cómo manejar una cuenta bancaria con POO?
Un ejemplo práctico de POO es la gestión de una cuenta bancaria. Creamos una clase BankAccount con métodos para depositar y retirar dinero, así como para activar y desactivar la cuenta.
Ejemplo de clase BankAccount
class BankAccount:
def __init__(self, account_holder, balance):
self.account_holder = account_holder
self.balance = balance
self.is_active = True
def deposit(self, amount):
if self.is_active:
self.balance += amount
print(f"Se ha depositado {amount}. Saldo actual: {self.balance}")
else:
print("No se puede depositar, cuenta inactiva")
def withdraw(self, amount):
if self.is_active:
if amount <= self.balance:
self.balance -= amount
print(f"Se ha retirado {amount}. Saldo actual: {self.balance}")
else:
print("Fondos insuficientes")
else:
print("No se puede retirar, cuenta inactiva")
def deactivate(self):
self.is_active = False
print("La cuenta ha sido desactivada")
def activate(self):
self.is_active = True
print("La cuenta ha sido activada")
# Crear objetos de la clase BankAccount
cuenta1 = BankAccount("Ana", 500)
cuenta2 = BankAccount("Luis", 1000)
cuenta1.deposit(500)
cuenta2.withdraw(100)
cuenta1.deactivate()
cuenta1.deposit(200)
cuenta1.activate()
cuenta1.deposit(200)
¿Cómo se crean y manejan objetos en Python?
La creación de objetos sigue una sintaxis similar a la de la creación de variables, pero usando el nombre de la clase seguido de los parámetros necesarios para el constructor.
Ejemplo de uso de la clase BankAccount
# Creación de cuentas
cuenta1 = BankAccount("Ana", 500)
cuenta2 = BankAccount("Luis", 1000)
# Realización de operaciones
cuenta1.deposit(500)
cuenta2.withdraw(100)
cuenta1.deactivate()
cuenta1.deposit(200) # No se puede depositar, cuenta inactiva
cuenta1.activate()
cuenta1.deposit(200) # Depósito exitoso