Tutorial de Python - Clase
- Introducción a OOP
- Clases y objetos Python
- Constructores de clases en Python
- Borrar los atributos de la clase
Hablaremos de los fundamentos de la programación orientada a objetos (OOP) en Python como clase, objeto en esta sección.
Python es un lenguaje de programación orientado a objetos, en otras palabras, todo en Python es un objeto.
Introducción a OOP
Los fundamentos de la Programación Orientada a Objetos (POO) consisten en las siguientes terminologías:
- Clases
- Miembros de los datos
- Métodos
- Objetos
- Constructores
- Sobrecarga del método
- Sobrecarga del operador
- Herencia
- Instancias de clase e instanciación
Clases y objetos Python
Una clase puede ser pensada como un esquema para un objeto mientras que un objeto es una colección de miembros de datos y la función de miembro.
Una clase contiene miembros de datos (variables) y funciones de miembros (métodos) a los que se puede acceder utilizando los objetos de esa clase.
Crear una clase
Se crea una clase utilizando la palabra clave class
y luego el nombre de la clase:
La sintaxis es la siguiente:
class NameofClass:
# data members of the class
# member functions of the class
Ejemplo:
>>> class Waiter:
name = "Andrew"
def display():
print('Waiter Class')
>>> print(Waiter.display)
<function Waiter.display at 0x0359E270>
>>> print(Waiter.name)
Andrew
Este ejemplo crea una clase llamada Waiter
que contiene un miembro de datos name
y un método de miembro display
.
Crear una instancia de objeto de una clase
Una instancia de objeto puede ser creada usando la siguiente sintaxis:
obj = className()
Ejemplo:
>>> w = Waiter()
>>> print(w.name)
Andrew
>>> w.display()
Waiter Class
Se puede ver aquí que el objeto de la clase Waiter
se utiliza para acceder a los miembros (atributos) de la clase mediante el operador de puntos.
Atributos de la clase
Junto con los miembros de datos y las funciones de los miembros, hay algunos atributos incorporados de una clase Python.
__dict__
: es un diccionario que contiene el namespace de la clase.__doc__
: es la cadena de documentación de la clase__nombre__
: es el nombre de la clase__módulo__
: es el módulo en el que se define la clase.__bases__
: es una tupla que contiene la clase base.
Se puede acceder a estos atributos mediante el operador dot.
Ejemplo:
>>> class Waiter:
"This is a waiter class"
name="Andrew"
def display():
print("You are in waiter class")
>>> w = Waiter()
>>> print(w.__doc__)
This is a waiter class
>>> print(w.__dict__)
{}
>>> print(w.__module__)
__main__
Constructores de clases en Python
Un constructor en Python OOP se crea usando __init__()
. Este método incorporado es un método especial llamado cuando se crea un objeto de la clase correspondiente.
Los constructores se utilizan para inicializar los miembros de datos de la clase.
>>> class Waiter:
def __init__(self, n):
self.name=n
self.age=20
def display(self):
print(self.name)
>>> w=Waiter('Rob')
>>> w.display()
Rob
Aquí, el argumento self
se utiliza en la definición del constructor y también en todos los métodos de la clase. Por lo tanto, cuando se llama a una función como w.display()
, se interpreta como Waiter.display(w)
.
Borrar los atributos de la clase
Puede utilizar la sentencia del
para borrar los atributos y objetos de una clase.
>>> w=Waiter('Rob')
>>> w.__dict__
{'name': 'Rob', 'age': 20}
>>> del w.age
>>> w.__dict__
{'name': 'Rob'}
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook