|
| 1 | +class Persona: # Creamos una clase |
| 2 | + # ASIGNACIÓN DE VALORES EN CÓDIGO DURO |
| 3 | + # def __init__(self): # Se lo llama método init Dunder |
| 4 | + # self.nombre = "Juan" |
| 5 | + # self.apellido = "Quiles" |
| 6 | + # self.edad = 22 |
| 7 | + |
| 8 | + # persona1 = Persona() |
| 9 | + # print(persona1.nombre) |
| 10 | + # print(persona1.apellido) |
| 11 | + # print(persona1.edad) |
| 12 | + |
| 13 | + # ASIGNACIÓN DE VALORES POR PARÁMETRO |
| 14 | + |
| 15 | + def __init__( |
| 16 | + self, nombre, apellido, dni, edad, *args, **kwargs |
| 17 | + ): # Se lo llama método init Dunder |
| 18 | + self.nombre = nombre |
| 19 | + self.apellido = apellido |
| 20 | + self._dni = dni # Este atributo está encapsulado de una manera sugerida |
| 21 | + self.edad = edad |
| 22 | + self.args = args |
| 23 | + self.kwargs = kwargs |
| 24 | + |
| 25 | + def mostrar_detalle(self): # self es igual a this |
| 26 | + print( |
| 27 | + f"La clase Persona tiene los siguientes datos: {self.nombre} {self.apellido} {self._dni} {self.edad}, la dirección es: {self.args}, los datos importantes son: {self.kwargs}" |
| 28 | + ) |
| 29 | + |
| 30 | + |
| 31 | +persona1 = Persona("Juan", "Quiles", 32443654, 20) # Necesitamos enviar argumentos |
| 32 | +print( |
| 33 | + f"El objeto 1 de la clase persona: {persona1.nombre} {persona1.apellido}, Su edad es: {persona1.edad}" |
| 34 | +) |
| 35 | + |
| 36 | +persona2 = Persona("Pablo", "Corleone", 41865991, 23) |
| 37 | +print( |
| 38 | + f"El objeto 2 de la clase persona: {persona2.nombre} {persona2.apellido}, Su edad es: {persona2.edad}" |
| 39 | +) |
| 40 | + |
| 41 | +persona1.nombre = "José" |
| 42 | +persona1.apellido = "Montana" |
| 43 | +persona1.edad = 45 |
| 44 | + |
| 45 | +print( |
| 46 | + f"El objeto 1 modificado de la clase persona: {persona1.nombre} {persona1.apellido}, Su edad es: {persona1.edad}" |
| 47 | +) |
| 48 | + |
| 49 | +# Los atributos son: Características |
| 50 | +# Los métodos son: el comportamiento que van a tener los objetos (las acciones) |
| 51 | +persona1.mostrar_detalle() # La referencia en este caso se pasa de manera automatica |
| 52 | +persona2.mostrar_detalle() |
| 53 | + |
| 54 | +# Persona.mostrar_detalle(persona1) # Debemos pasarle una referencia para el self o dará error |
| 55 | +persona1.telefono = "2625095463" |
| 56 | +print(f"Este es el telefono de {persona1.nombre} : {persona1.telefono}") |
| 57 | + |
| 58 | +# print(persona2.telefono) # el objeto persona2 no tiene este atributo, da error |
| 59 | + |
| 60 | +persona3 = Persona( |
| 61 | + "Franco", |
| 62 | + "Castelli", |
| 63 | + 388996001, |
| 64 | + 25, |
| 65 | + "Telefono", |
| 66 | + "2625435363", |
| 67 | + "Calle: Ing Lange", |
| 68 | + 43, |
| 69 | + "Manzana", |
| 70 | + 1, |
| 71 | + "Casa", |
| 72 | + 3, |
| 73 | + Altura=1.90, |
| 74 | + Peso=89, |
| 75 | + CFavorito="Negro", |
| 76 | + Auto="Volkswagen", |
| 77 | + Modelo=2015, |
| 78 | +) |
| 79 | +persona3.mostrar_detalle() |
| 80 | + |
| 81 | +persona4 = Persona( |
| 82 | + "Juan", |
| 83 | + "Quiles", |
| 84 | + 45361265, |
| 85 | + 22, |
| 86 | + "Telefono", |
| 87 | + "26250001001", |
| 88 | + "Calle: Int. Morales", |
| 89 | + 100, |
| 90 | + "Manzana", |
| 91 | + 2, |
| 92 | + "Casa", |
| 93 | + 5, |
| 94 | + Altura=1.85, |
| 95 | + Peso=75, |
| 96 | + CFavorito="Blanco", |
| 97 | + Auto="Peugeot 207", |
| 98 | + Modelo=2014, |
| 99 | +) |
| 100 | +persona4.mostrar_detalle() |
0 commit comments