8.1 Clases y Objetos
¡Bienvenido al Capítulo 8! En este capítulo, nos adentraremos en el mundo de la Programación Orientada a Objetos (POO). La POO es un paradigma de programación que te permite crear código reutilizable y modular modelando entidades del mundo real como objetos de software.
Python es un lenguaje ideal para la POO porque soporta completamente los conceptos de POO y tiene una amplia gama de bibliotecas y frameworks disponibles para implementarla. Al aprender POO en Python, obtendrás una comprensión más profunda de los conceptos de programación y podrás crear código más eficiente y efectivo.
Además, la POO es un paradigma de programación ampliamente utilizado en muchas industrias, como el desarrollo de software, la inteligencia artificial y el desarrollo web. Al dominar la POO en Python, te prepararás para el éxito en una variedad de campos de programación.
En la programación orientada a objetos, los conceptos principales son las clases y los objetos. Una clase es un modelo para crear objetos, que son instancias de la clase. Las clases definen las propiedades (atributos) y el comportamiento (métodos) de los objetos que representan.
Comencemos con un ejemplo sencillo. Consideremos una clase llamada "Dog" (Perro). La clase "Dog" puede tener atributos como nombre, raza y edad. También puede tener métodos como "bark()" (ladrar) y "sit()" (sentarse).
Para definir una clase en Python, se utiliza la palabra clave "class":
class Dog:
pass
La palabra clave "pass" es un marcador de posición que no hace nada, pero permite que la definición de la clase sea sintácticamente correcta.
Ahora que tenemos nuestra clase "Dog", podemos crear objetos (instancias) de la clase:
dog1 = Dog()
dog2 = Dog()
Aquí, "dog1" y "dog2" son dos objetos diferentes de la clase "Dog". Son instancias separadas, por lo que podemos asignarles diferentes atributos:
dog1.name = "Buddy"
dog1.breed = "Golden Retriever"
dog1.age = 3
dog2.name = "Max"
dog2.breed = "Labrador"
dog2.age = 5
Ahora, agreguemos algunos métodos a nuestra clase "Dog":
class Dog:
def bark(self):
print("Woof!")
def sit(self):
print(f"{self.name} sits.")
El parámetro "self" en la definición del método es una referencia a la instancia de la clase. Permite acceder a los atributos del objeto y llamar a otros métodos dentro de la clase.
Ahora, podemos crear instancias de nuestra clase "Dog" actualizada y llamar a sus métodos:
dog1 = Dog()
dog1.name = "Buddy"
dog1.bark() # Output: Woof!
dog1.sit() # Output: Buddy sits.
dog2 = Dog()
dog2.name = "Max"
dog2.bark() # Output: Woof!
dog2.sit() # Output: Max sits.
En esta sección, hemos aprendido los conceptos básicos de la definición de clases y la creación de objetos en Python. Sin embargo, es importante tener en cuenta que hay muchos tipos diferentes de clases que se pueden definir, cada una con sus propias características y comportamientos únicos.
Por ejemplo, algunas clases pueden requerir parámetros adicionales en sus constructores, mientras que otras pueden heredar propiedades y métodos de clases padre. Además, el concepto de encapsulación es un aspecto fundamental de la programación orientada a objetos, que consiste en restringir el acceso a ciertas propiedades y métodos dentro de una clase para mantener la integridad de los datos y prevenir modificaciones no deseadas.
A medida que avancemos en este libro, exploraremos estos conceptos más avanzados de la POO en mayor detalle, construyendo sobre la base que hemos establecido en esta sección.
Ejercicio 8.1.1: Definir una clase de automóvil
En este ejercicio, definirás una clase llamada "Car" (Automóvil) con dos atributos: "make" (marca) y "model" (modelo), y un método "honk()" que imprime "Beep! Beep!".
Instrucciones:
- Define una clase "Car" con los atributos "make" y "model".
- Agrega un método "honk()" a la clase "Car" que imprima "Beep! Beep!".
- Crea una instancia de la clase "Car", establece sus atributos "make" y "model", y llama a su método "honk()".
Solución:
class Car:
def honk(self):
print("Beep! Beep!")
my_car = Car()
my_car.make = "Toyota"
my_car.model = "Corolla"
my_car.honk() # Output: Beep! Beep!
Ejercicio 8.1.2: Definir una clase de círculo
En este ejercicio, definirás una clase llamada "Circle" (Círculo) con un atributo "radius" (radio) y dos métodos: "area()" y "circumference()" que calculan y devuelven el área y la circunferencia del círculo, respectivamente.
Instrucciones:
- Define una clase "Circle" con un atributo "radius".
- Agrega un método "area()" que calcule y devuelva el área del círculo usando la fórmula área = pi * radio^2. Puedes usar "math.pi" para el valor de pi.
- Agrega un método "circumference()" que calcule y devuelva la circunferencia del círculo usando la fórmula circunferencia = 2 * pi * radio.
- Crea una instancia de la clase "Circle", establece su atributo "radius", y llama a sus métodos "area()" y "circumference()".
Solución:
import math
class Circle:
def area(self):
return math.pi * self.radius ** 2
def circumference(self):
return 2 * math.pi * self.radius
my_circle = Circle()
my_circle.radius = 5
print(my_circle.area()) # Output: 78.53981633974483
print(my_circle.circumference()) # Output: 31.41592653589793
Ejercicio 8.1.3: Definir una clase de cuenta bancaria
En este ejercicio, definirás una clase llamada "BankAccount" (Cuenta bancaria) con dos atributos: "account_number" (número de cuenta) y "balance" (saldo), y dos métodos: "deposit(amount)" y "withdraw(amount)" para depositar y retirar dinero, respectivamente.
Instrucciones:
- Define una clase "BankAccount" con los atributos "account_number" y "balance".
- Agrega un método "deposit(amount)" que incremente el saldo en la cantidad dada.
- Agrega un método "withdraw(amount)" que decremente el saldo en la cantidad dada, pero solo si hay suficiente saldo para cubrir el retiro.
- Crea una instancia de la clase "BankAccount", establece sus atributos "account_number" y "balance", y llama a sus métodos "deposit()" y "withdraw()".
Solución:
class BankAccount:
def deposit(self, amount):
self.balance += amount
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
else:
print("Insufficient balance")
my_account = BankAccount()
my_account.account_number = "123456789"
my_account.balance = 500
my_account.deposit(300)
print(my_account.balance) # Output: 800
my_account.withdraw(200)
print(my_account.balance) # Output: 600
my_account.withdraw(800) # Output: Insufficient balance
``
8.1 Clases y Objetos
¡Bienvenido al Capítulo 8! En este capítulo, nos adentraremos en el mundo de la Programación Orientada a Objetos (POO). La POO es un paradigma de programación que te permite crear código reutilizable y modular modelando entidades del mundo real como objetos de software.
Python es un lenguaje ideal para la POO porque soporta completamente los conceptos de POO y tiene una amplia gama de bibliotecas y frameworks disponibles para implementarla. Al aprender POO en Python, obtendrás una comprensión más profunda de los conceptos de programación y podrás crear código más eficiente y efectivo.
Además, la POO es un paradigma de programación ampliamente utilizado en muchas industrias, como el desarrollo de software, la inteligencia artificial y el desarrollo web. Al dominar la POO en Python, te prepararás para el éxito en una variedad de campos de programación.
En la programación orientada a objetos, los conceptos principales son las clases y los objetos. Una clase es un modelo para crear objetos, que son instancias de la clase. Las clases definen las propiedades (atributos) y el comportamiento (métodos) de los objetos que representan.
Comencemos con un ejemplo sencillo. Consideremos una clase llamada "Dog" (Perro). La clase "Dog" puede tener atributos como nombre, raza y edad. También puede tener métodos como "bark()" (ladrar) y "sit()" (sentarse).
Para definir una clase en Python, se utiliza la palabra clave "class":
class Dog:
pass
La palabra clave "pass" es un marcador de posición que no hace nada, pero permite que la definición de la clase sea sintácticamente correcta.
Ahora que tenemos nuestra clase "Dog", podemos crear objetos (instancias) de la clase:
dog1 = Dog()
dog2 = Dog()
Aquí, "dog1" y "dog2" son dos objetos diferentes de la clase "Dog". Son instancias separadas, por lo que podemos asignarles diferentes atributos:
dog1.name = "Buddy"
dog1.breed = "Golden Retriever"
dog1.age = 3
dog2.name = "Max"
dog2.breed = "Labrador"
dog2.age = 5
Ahora, agreguemos algunos métodos a nuestra clase "Dog":
class Dog:
def bark(self):
print("Woof!")
def sit(self):
print(f"{self.name} sits.")
El parámetro "self" en la definición del método es una referencia a la instancia de la clase. Permite acceder a los atributos del objeto y llamar a otros métodos dentro de la clase.
Ahora, podemos crear instancias de nuestra clase "Dog" actualizada y llamar a sus métodos:
dog1 = Dog()
dog1.name = "Buddy"
dog1.bark() # Output: Woof!
dog1.sit() # Output: Buddy sits.
dog2 = Dog()
dog2.name = "Max"
dog2.bark() # Output: Woof!
dog2.sit() # Output: Max sits.
En esta sección, hemos aprendido los conceptos básicos de la definición de clases y la creación de objetos en Python. Sin embargo, es importante tener en cuenta que hay muchos tipos diferentes de clases que se pueden definir, cada una con sus propias características y comportamientos únicos.
Por ejemplo, algunas clases pueden requerir parámetros adicionales en sus constructores, mientras que otras pueden heredar propiedades y métodos de clases padre. Además, el concepto de encapsulación es un aspecto fundamental de la programación orientada a objetos, que consiste en restringir el acceso a ciertas propiedades y métodos dentro de una clase para mantener la integridad de los datos y prevenir modificaciones no deseadas.
A medida que avancemos en este libro, exploraremos estos conceptos más avanzados de la POO en mayor detalle, construyendo sobre la base que hemos establecido en esta sección.
Ejercicio 8.1.1: Definir una clase de automóvil
En este ejercicio, definirás una clase llamada "Car" (Automóvil) con dos atributos: "make" (marca) y "model" (modelo), y un método "honk()" que imprime "Beep! Beep!".
Instrucciones:
- Define una clase "Car" con los atributos "make" y "model".
- Agrega un método "honk()" a la clase "Car" que imprima "Beep! Beep!".
- Crea una instancia de la clase "Car", establece sus atributos "make" y "model", y llama a su método "honk()".
Solución:
class Car:
def honk(self):
print("Beep! Beep!")
my_car = Car()
my_car.make = "Toyota"
my_car.model = "Corolla"
my_car.honk() # Output: Beep! Beep!
Ejercicio 8.1.2: Definir una clase de círculo
En este ejercicio, definirás una clase llamada "Circle" (Círculo) con un atributo "radius" (radio) y dos métodos: "area()" y "circumference()" que calculan y devuelven el área y la circunferencia del círculo, respectivamente.
Instrucciones:
- Define una clase "Circle" con un atributo "radius".
- Agrega un método "area()" que calcule y devuelva el área del círculo usando la fórmula área = pi * radio^2. Puedes usar "math.pi" para el valor de pi.
- Agrega un método "circumference()" que calcule y devuelva la circunferencia del círculo usando la fórmula circunferencia = 2 * pi * radio.
- Crea una instancia de la clase "Circle", establece su atributo "radius", y llama a sus métodos "area()" y "circumference()".
Solución:
import math
class Circle:
def area(self):
return math.pi * self.radius ** 2
def circumference(self):
return 2 * math.pi * self.radius
my_circle = Circle()
my_circle.radius = 5
print(my_circle.area()) # Output: 78.53981633974483
print(my_circle.circumference()) # Output: 31.41592653589793
Ejercicio 8.1.3: Definir una clase de cuenta bancaria
En este ejercicio, definirás una clase llamada "BankAccount" (Cuenta bancaria) con dos atributos: "account_number" (número de cuenta) y "balance" (saldo), y dos métodos: "deposit(amount)" y "withdraw(amount)" para depositar y retirar dinero, respectivamente.
Instrucciones:
- Define una clase "BankAccount" con los atributos "account_number" y "balance".
- Agrega un método "deposit(amount)" que incremente el saldo en la cantidad dada.
- Agrega un método "withdraw(amount)" que decremente el saldo en la cantidad dada, pero solo si hay suficiente saldo para cubrir el retiro.
- Crea una instancia de la clase "BankAccount", establece sus atributos "account_number" y "balance", y llama a sus métodos "deposit()" y "withdraw()".
Solución:
class BankAccount:
def deposit(self, amount):
self.balance += amount
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
else:
print("Insufficient balance")
my_account = BankAccount()
my_account.account_number = "123456789"
my_account.balance = 500
my_account.deposit(300)
print(my_account.balance) # Output: 800
my_account.withdraw(200)
print(my_account.balance) # Output: 600
my_account.withdraw(800) # Output: Insufficient balance
``
8.1 Clases y Objetos
¡Bienvenido al Capítulo 8! En este capítulo, nos adentraremos en el mundo de la Programación Orientada a Objetos (POO). La POO es un paradigma de programación que te permite crear código reutilizable y modular modelando entidades del mundo real como objetos de software.
Python es un lenguaje ideal para la POO porque soporta completamente los conceptos de POO y tiene una amplia gama de bibliotecas y frameworks disponibles para implementarla. Al aprender POO en Python, obtendrás una comprensión más profunda de los conceptos de programación y podrás crear código más eficiente y efectivo.
Además, la POO es un paradigma de programación ampliamente utilizado en muchas industrias, como el desarrollo de software, la inteligencia artificial y el desarrollo web. Al dominar la POO en Python, te prepararás para el éxito en una variedad de campos de programación.
En la programación orientada a objetos, los conceptos principales son las clases y los objetos. Una clase es un modelo para crear objetos, que son instancias de la clase. Las clases definen las propiedades (atributos) y el comportamiento (métodos) de los objetos que representan.
Comencemos con un ejemplo sencillo. Consideremos una clase llamada "Dog" (Perro). La clase "Dog" puede tener atributos como nombre, raza y edad. También puede tener métodos como "bark()" (ladrar) y "sit()" (sentarse).
Para definir una clase en Python, se utiliza la palabra clave "class":
class Dog:
pass
La palabra clave "pass" es un marcador de posición que no hace nada, pero permite que la definición de la clase sea sintácticamente correcta.
Ahora que tenemos nuestra clase "Dog", podemos crear objetos (instancias) de la clase:
dog1 = Dog()
dog2 = Dog()
Aquí, "dog1" y "dog2" son dos objetos diferentes de la clase "Dog". Son instancias separadas, por lo que podemos asignarles diferentes atributos:
dog1.name = "Buddy"
dog1.breed = "Golden Retriever"
dog1.age = 3
dog2.name = "Max"
dog2.breed = "Labrador"
dog2.age = 5
Ahora, agreguemos algunos métodos a nuestra clase "Dog":
class Dog:
def bark(self):
print("Woof!")
def sit(self):
print(f"{self.name} sits.")
El parámetro "self" en la definición del método es una referencia a la instancia de la clase. Permite acceder a los atributos del objeto y llamar a otros métodos dentro de la clase.
Ahora, podemos crear instancias de nuestra clase "Dog" actualizada y llamar a sus métodos:
dog1 = Dog()
dog1.name = "Buddy"
dog1.bark() # Output: Woof!
dog1.sit() # Output: Buddy sits.
dog2 = Dog()
dog2.name = "Max"
dog2.bark() # Output: Woof!
dog2.sit() # Output: Max sits.
En esta sección, hemos aprendido los conceptos básicos de la definición de clases y la creación de objetos en Python. Sin embargo, es importante tener en cuenta que hay muchos tipos diferentes de clases que se pueden definir, cada una con sus propias características y comportamientos únicos.
Por ejemplo, algunas clases pueden requerir parámetros adicionales en sus constructores, mientras que otras pueden heredar propiedades y métodos de clases padre. Además, el concepto de encapsulación es un aspecto fundamental de la programación orientada a objetos, que consiste en restringir el acceso a ciertas propiedades y métodos dentro de una clase para mantener la integridad de los datos y prevenir modificaciones no deseadas.
A medida que avancemos en este libro, exploraremos estos conceptos más avanzados de la POO en mayor detalle, construyendo sobre la base que hemos establecido en esta sección.
Ejercicio 8.1.1: Definir una clase de automóvil
En este ejercicio, definirás una clase llamada "Car" (Automóvil) con dos atributos: "make" (marca) y "model" (modelo), y un método "honk()" que imprime "Beep! Beep!".
Instrucciones:
- Define una clase "Car" con los atributos "make" y "model".
- Agrega un método "honk()" a la clase "Car" que imprima "Beep! Beep!".
- Crea una instancia de la clase "Car", establece sus atributos "make" y "model", y llama a su método "honk()".
Solución:
class Car:
def honk(self):
print("Beep! Beep!")
my_car = Car()
my_car.make = "Toyota"
my_car.model = "Corolla"
my_car.honk() # Output: Beep! Beep!
Ejercicio 8.1.2: Definir una clase de círculo
En este ejercicio, definirás una clase llamada "Circle" (Círculo) con un atributo "radius" (radio) y dos métodos: "area()" y "circumference()" que calculan y devuelven el área y la circunferencia del círculo, respectivamente.
Instrucciones:
- Define una clase "Circle" con un atributo "radius".
- Agrega un método "area()" que calcule y devuelva el área del círculo usando la fórmula área = pi * radio^2. Puedes usar "math.pi" para el valor de pi.
- Agrega un método "circumference()" que calcule y devuelva la circunferencia del círculo usando la fórmula circunferencia = 2 * pi * radio.
- Crea una instancia de la clase "Circle", establece su atributo "radius", y llama a sus métodos "area()" y "circumference()".
Solución:
import math
class Circle:
def area(self):
return math.pi * self.radius ** 2
def circumference(self):
return 2 * math.pi * self.radius
my_circle = Circle()
my_circle.radius = 5
print(my_circle.area()) # Output: 78.53981633974483
print(my_circle.circumference()) # Output: 31.41592653589793
Ejercicio 8.1.3: Definir una clase de cuenta bancaria
En este ejercicio, definirás una clase llamada "BankAccount" (Cuenta bancaria) con dos atributos: "account_number" (número de cuenta) y "balance" (saldo), y dos métodos: "deposit(amount)" y "withdraw(amount)" para depositar y retirar dinero, respectivamente.
Instrucciones:
- Define una clase "BankAccount" con los atributos "account_number" y "balance".
- Agrega un método "deposit(amount)" que incremente el saldo en la cantidad dada.
- Agrega un método "withdraw(amount)" que decremente el saldo en la cantidad dada, pero solo si hay suficiente saldo para cubrir el retiro.
- Crea una instancia de la clase "BankAccount", establece sus atributos "account_number" y "balance", y llama a sus métodos "deposit()" y "withdraw()".
Solución:
class BankAccount:
def deposit(self, amount):
self.balance += amount
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
else:
print("Insufficient balance")
my_account = BankAccount()
my_account.account_number = "123456789"
my_account.balance = 500
my_account.deposit(300)
print(my_account.balance) # Output: 800
my_account.withdraw(200)
print(my_account.balance) # Output: 600
my_account.withdraw(800) # Output: Insufficient balance
``
8.1 Clases y Objetos
¡Bienvenido al Capítulo 8! En este capítulo, nos adentraremos en el mundo de la Programación Orientada a Objetos (POO). La POO es un paradigma de programación que te permite crear código reutilizable y modular modelando entidades del mundo real como objetos de software.
Python es un lenguaje ideal para la POO porque soporta completamente los conceptos de POO y tiene una amplia gama de bibliotecas y frameworks disponibles para implementarla. Al aprender POO en Python, obtendrás una comprensión más profunda de los conceptos de programación y podrás crear código más eficiente y efectivo.
Además, la POO es un paradigma de programación ampliamente utilizado en muchas industrias, como el desarrollo de software, la inteligencia artificial y el desarrollo web. Al dominar la POO en Python, te prepararás para el éxito en una variedad de campos de programación.
En la programación orientada a objetos, los conceptos principales son las clases y los objetos. Una clase es un modelo para crear objetos, que son instancias de la clase. Las clases definen las propiedades (atributos) y el comportamiento (métodos) de los objetos que representan.
Comencemos con un ejemplo sencillo. Consideremos una clase llamada "Dog" (Perro). La clase "Dog" puede tener atributos como nombre, raza y edad. También puede tener métodos como "bark()" (ladrar) y "sit()" (sentarse).
Para definir una clase en Python, se utiliza la palabra clave "class":
class Dog:
pass
La palabra clave "pass" es un marcador de posición que no hace nada, pero permite que la definición de la clase sea sintácticamente correcta.
Ahora que tenemos nuestra clase "Dog", podemos crear objetos (instancias) de la clase:
dog1 = Dog()
dog2 = Dog()
Aquí, "dog1" y "dog2" son dos objetos diferentes de la clase "Dog". Son instancias separadas, por lo que podemos asignarles diferentes atributos:
dog1.name = "Buddy"
dog1.breed = "Golden Retriever"
dog1.age = 3
dog2.name = "Max"
dog2.breed = "Labrador"
dog2.age = 5
Ahora, agreguemos algunos métodos a nuestra clase "Dog":
class Dog:
def bark(self):
print("Woof!")
def sit(self):
print(f"{self.name} sits.")
El parámetro "self" en la definición del método es una referencia a la instancia de la clase. Permite acceder a los atributos del objeto y llamar a otros métodos dentro de la clase.
Ahora, podemos crear instancias de nuestra clase "Dog" actualizada y llamar a sus métodos:
dog1 = Dog()
dog1.name = "Buddy"
dog1.bark() # Output: Woof!
dog1.sit() # Output: Buddy sits.
dog2 = Dog()
dog2.name = "Max"
dog2.bark() # Output: Woof!
dog2.sit() # Output: Max sits.
En esta sección, hemos aprendido los conceptos básicos de la definición de clases y la creación de objetos en Python. Sin embargo, es importante tener en cuenta que hay muchos tipos diferentes de clases que se pueden definir, cada una con sus propias características y comportamientos únicos.
Por ejemplo, algunas clases pueden requerir parámetros adicionales en sus constructores, mientras que otras pueden heredar propiedades y métodos de clases padre. Además, el concepto de encapsulación es un aspecto fundamental de la programación orientada a objetos, que consiste en restringir el acceso a ciertas propiedades y métodos dentro de una clase para mantener la integridad de los datos y prevenir modificaciones no deseadas.
A medida que avancemos en este libro, exploraremos estos conceptos más avanzados de la POO en mayor detalle, construyendo sobre la base que hemos establecido en esta sección.
Ejercicio 8.1.1: Definir una clase de automóvil
En este ejercicio, definirás una clase llamada "Car" (Automóvil) con dos atributos: "make" (marca) y "model" (modelo), y un método "honk()" que imprime "Beep! Beep!".
Instrucciones:
- Define una clase "Car" con los atributos "make" y "model".
- Agrega un método "honk()" a la clase "Car" que imprima "Beep! Beep!".
- Crea una instancia de la clase "Car", establece sus atributos "make" y "model", y llama a su método "honk()".
Solución:
class Car:
def honk(self):
print("Beep! Beep!")
my_car = Car()
my_car.make = "Toyota"
my_car.model = "Corolla"
my_car.honk() # Output: Beep! Beep!
Ejercicio 8.1.2: Definir una clase de círculo
En este ejercicio, definirás una clase llamada "Circle" (Círculo) con un atributo "radius" (radio) y dos métodos: "area()" y "circumference()" que calculan y devuelven el área y la circunferencia del círculo, respectivamente.
Instrucciones:
- Define una clase "Circle" con un atributo "radius".
- Agrega un método "area()" que calcule y devuelva el área del círculo usando la fórmula área = pi * radio^2. Puedes usar "math.pi" para el valor de pi.
- Agrega un método "circumference()" que calcule y devuelva la circunferencia del círculo usando la fórmula circunferencia = 2 * pi * radio.
- Crea una instancia de la clase "Circle", establece su atributo "radius", y llama a sus métodos "area()" y "circumference()".
Solución:
import math
class Circle:
def area(self):
return math.pi * self.radius ** 2
def circumference(self):
return 2 * math.pi * self.radius
my_circle = Circle()
my_circle.radius = 5
print(my_circle.area()) # Output: 78.53981633974483
print(my_circle.circumference()) # Output: 31.41592653589793
Ejercicio 8.1.3: Definir una clase de cuenta bancaria
En este ejercicio, definirás una clase llamada "BankAccount" (Cuenta bancaria) con dos atributos: "account_number" (número de cuenta) y "balance" (saldo), y dos métodos: "deposit(amount)" y "withdraw(amount)" para depositar y retirar dinero, respectivamente.
Instrucciones:
- Define una clase "BankAccount" con los atributos "account_number" y "balance".
- Agrega un método "deposit(amount)" que incremente el saldo en la cantidad dada.
- Agrega un método "withdraw(amount)" que decremente el saldo en la cantidad dada, pero solo si hay suficiente saldo para cubrir el retiro.
- Crea una instancia de la clase "BankAccount", establece sus atributos "account_number" y "balance", y llama a sus métodos "deposit()" y "withdraw()".
Solución:
class BankAccount:
def deposit(self, amount):
self.balance += amount
def withdraw(self, amount):
if amount <= self.balance:
self.balance -= amount
else:
print("Insufficient balance")
my_account = BankAccount()
my_account.account_number = "123456789"
my_account.balance = 500
my_account.deposit(300)
print(my_account.balance) # Output: 800
my_account.withdraw(200)
print(my_account.balance) # Output: 600
my_account.withdraw(800) # Output: Insufficient balance
``