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. pass
es 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, inprint("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