Como Python almacena sus variables de instancia en forma de diccionario perteneciente al objeto respectivo , las funciones dir() y vars() se utilizan para enumerar los atributos de una instancia/objeto de la clase de Python. Aunque tienen una utilidad similar, estas funciones tienen casos de uso individuales significativos.
Función dir():
esta función muestra más atributos que la función vars(), ya que no se limita a una instancia. También muestra los atributos de clase. También muestra los atributos de sus clases antecesoras.
Función vars():
Esta función muestra el atributo de una instancia en forma de diccionario.
La siguiente tabla proporciona una diferencia significativa entre var() y dir():
vars() | directorio() |
---|---|
Devuelve un diccionario de objetos de una sola clase donde se usa | Devuelve un diccionario de objetos de clase única donde se usa y sus clases base |
Devuelve un diccionario correspondiente a la tabla de símbolos local actual cuando no se pasa ningún argumento | Devuelve la lista de nombres en el ámbito local actual cuando no se pasa ningún argumento |
Devuelve un diccionario correspondiente a la tabla de símbolos del objeto si se pasa un objeto de módulo, clase o instancia de clase como argumento (o cualquier otra cosa que tenga un atributo __dict__). | Intenta devolver una lista de atributos válidos para ese objeto cuando se le pasa un argumento |
Como los tipos integrados de instancias no tienen el atributo __dict__, devuelve un error cuando se usa en una instancia de tipo integrado. | Se puede utilizar con todos los tipos incorporados sin error |
Ejemplo 1:
Python3
vars(list).keys()
Producción:
Ejemplo 2:
Python3
dir(list)
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA