¿Cómo crear una clase vacía en Python?

Una clase es un proyecto o prototipo definido por el usuario a partir del cual se crean objetos. La clase se puede considerar como un tipo de datos definido por el usuario. Generalmente, una clase contiene miembros de datos conocidos como atributos de la clase y funciones miembro que se utilizan para modificar los atributos de la clase. Pero, ¿alguna vez se ha preguntado cómo definir una clase vacía, es decir, una clase sin miembros ni funciones miembro?

En Python, si escribimos algo como lo siguiente, generaría un archivo SyntaxError.

# Incorrect empty class in 
# Python
  
class Geeks:

Producción:

  File "gfg.py", line 5

                ^
SyntaxError: unexpected EOF while parsing

En Python, se usa para escribir una pass declaración de clase vacía. passes una declaración especial en Python que no hace nada. Solo funciona como una declaración ficticia. Sin embargo, también se pueden crear objetos de una clase vacía.

Ejemplo:

# Python program to demonstrate
# empty class
  
class Geeks:
    pass
  
# Driver's code
obj = Geeks()
  
print(obj)

Producción:

<__main__.Geeks object at 0x02B4A340>

Python también nos permite establecer los atributos de un objeto de una clase vacía. También podemos establecer diferentes atributos para diferentes objetos. Vea el siguiente ejemplo para una mejor comprensión.

# Python program to demonstrate
# empty class
  
  
class Employee:
    pass
  
  
# Driver's code
# Object 1 details
obj1 = Employee()
obj1.name = 'Nikhil'
obj1.office = 'GeeksforGeeks'
  
# Object 2 details
obj2 = Employee()
obj2.name = 'Abhinav'
obj2.office = 'GeeksforGeeks'
obj2.phone = 1234567889
  
  
# Printing details
print("obj1 Details:")
print("Name:", obj1.name)
print("Office:", obj1.office)
print()
  
print("obj2 Details:")
print("Name:", obj2.name)
print("Office:", obj2.office)
print("Phone:", obj2.phone)
  
  
# Uncommenting this print("Phone:", obj1.phone)
# will raise an AttributeError

Producción:

obj1 Details:
Name: Nikhil
Office: GeeksforGeeks

obj2 Details:
Name: Abhinav
Office: GeeksforGeeks
Phone: 1234567889
Traceback (most recent call last):
  File "gfg.py", line 34, in 
    print("Phone:", obj1.phone)
AttributeError: 'Employee' object has no attribute 'phone'

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *