En este artículo, veremos cómo obtener un nombre de clase en instancias de Python .
Para obtener el nombre de clase de una instancia, tenemos los siguientes 4 métodos que se enumeran a continuación:
- Usando la combinación de __class__ y __name__ para obtener el tipo o clase del Objeto /Instancia.
- Use la función type() y __name__ para obtener el tipo o la clase del Objeto/Instancia.
- Usar el decorador para obtener el tipo o la clase del Objeto/Instancia.
- Uso de clases anidadas para obtener el tipo o la clase del Objeto/Instancia.
¿Cuál es el nombre de la clase?
Una clase definida por el usuario sirve como plantilla o prototipo a partir del cual se pueden construir objetos. Las clases ofrecen una manera de agrupar funcionalidad y datos. Una nueva clase produce un nuevo tipo de objeto, lo que permite la creación de nuevas instancias de ese tipo.
Método 1: Usar __clase__.__nombre__
es una variable integrada que evalúa el nombre del módulo actual. Por lo tanto, se puede usar para verificar si el script actual se ejecuta solo o se importa a otro lugar combinándolo con la declaración if. La función type() y la variable __name__ se utilizan para obtener el tipo o la clase del objeto en el código:
Python3
# this is a class named car class car: def parts(): pass c = car() # this prints the class of a c # this is a class of a c which is # variable containing a class print(c.__class__) # this prints the name of the class classes = c.__class__ print(classes.__name__)
Producción:
<class '__main__.car'> car
Método 2: Usar el atributo type() y __name__
Además, también podemos imprimir el tipo de c (carro de clase) que da el objeto de c y __name__ proporciona el nombre de la clase. __name__ es una variable integrada que evalúa el nombre del módulo actual.
Python3
# this is a class named car class car: def parts(): pass c = car() # this prints the class of a c print(type(c).__name__)
Producción:
car
Método 3: usar un decorador
Aquí usamos el decorador @property para obtener un nombre que no sea un método de python. Para obtener más información sobre el decorador de propiedades @ , consulte Decorador de propiedades de Python . La función que devuelve el nombre de la clase.
Python3
# class for getting the class name class test: @property def cls(self): return type(self).__name__ a = test() print(a.cls)
Producción:
test
Método 4: usar clases anidadas
En este ejemplo, podemos obtener el nombre del objeto de clase usando el atributo __qualname__ en lugar del atributo __name__ . El __qualname__ proporciona una ruta de puntos al nombre del objeto de destino. Cuando se trata de estructuras anidadas, como cuando un método está contenido dentro de una clase, es beneficioso usar __qualname__.
Python3
class bike: def __init__(self, name, b): self.name = name self.car = self.car(b) class car: def __init__(self, car): self.car = car vehical = bike("orange", ['potatoes']) print(vehical.car.__class__.__name__) print(vehical.car.__class__.__qualname__)
Producción:
car bike.car
Publicación traducida automáticamente
Artículo escrito por shiv_ka_ansh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA