Diferencia entre dir() y vars() en Python

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

Deja una respuesta

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