Fonction vars() de Python
Fonctions intégrées de Python3
vars()est une fonction native de Python pour renvoyer les attributs d'un objet__dict__des attributs.
vars()Renvoie un dictionnaire contenant tous les attributs accessibles en écriture de l'objet. Pour les objets dépourvus d'__dict__un __dict__, une exception TypeError est levée.
Définitions de mots: vars 是 variables(变量)的缩写。
Syntaxe de base et paramètres
Format de syntaxe
vars(object)
Description du paramètre
- Paramètre object:
- Type : Tout objet
- Description : L'objet dont les attributs doivent être obtenus.
Description de la fonction
- Valeur de retour: renvoie le
__dict__dictionnaire __dict__ de l'objet. - Remarque: lorsqu'elle est appelée sans arguments, elle équivaut à locals()
locals()。
Exemples
Exemple 1 : Affichage des attributs d'un objet
Exemple
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("Tom", 20)
# Afficher le __dict__ de l'objet
print(vars(p))
# Sortie : {'name': 'Tom', 'age': 20}
# Accéder au dictionnaire
print(vars(p)["name"]) # Sortie : Tom
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("Tom", 20)
# Afficher le __dict__ de l'objet
print(vars(p))
# Sortie : {'name': 'Tom', 'age': 20}
# Accéder au dictionnaire
print(vars(p)["name"]) # Sortie : Tom
Sortie attendue :
{'name': 'Tom', 'age': 20}
Tom
Analyse du code :
- vars() renvoie un dictionnaire des attributs d'instance de l'objet.
- Les attributs sont accessibles directement via le dictionnaire.
Exemple 2 : Module et classe __dict__
Exemple
# Le __dict__ du module
import os
print(len(vars(os))) # Sortie : le nombre d'attributs du module os
# Le __dict__ de la classe (à l'exclusion des attributs d'instance)
class MyClass:
class_attr = 100
def __init__(self):
self.instance_attr = 200
print(vars(MyClass))
# Sortie : {'__module__': '__main__', 'class_attr': 100, '__init__': ...}
import os
print(len(vars(os))) # Sortie : le nombre d'attributs du module os
# Le __dict__ de la classe (à l'exclusion des attributs d'instance)
class MyClass:
class_attr = 100
def __init__(self):
self.instance_attr = 200
print(vars(MyClass))
# Sortie : {'__module__': '__main__', 'class_attr': 100, '__init__': ...}
Sortie :
vars() est très utile pour comprendre la structure d'un objet.
vars()Il est souvent utilisé pour le débogage et l'accès dynamique aux attributs.
Fonctions intégrées de Python3
Autres extensions