Programa de Python para obtener el nombre de clase de una instancia

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

Deja una respuesta

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