Puisque Python est un langage dynamique, il n'est pas nécessaire de déclarer des variables et les variables d'instance peuvent être créées dynamiquement.
class User:
pass
user1 = User()
user1.username = 'kaito'
Utilisez \ _ \ _ slots \ _ \ _ </ code> pour limiter la création de variables d'instance sans autorisation.
class User:
__slots__ = ('username', 'age')
user1 = User()
user1.username = 'kaito'
user1.password = 'aaa'
Vous pouvez voir l'erreur.
4 user1 = User()
5 user1.username = 'kaito'
----> 6 user1.password = 'aaa'
AttributeError: 'User' object has no attribute 'password'
De plus, Python stocke les variables d'instance dans un dictionnaire, mais en définissant \ _ \ _ slots \ _ \ _ </ code>, des taples sont utilisés à la place des dictionnaires, ce qui économise de la mémoire.
Recommended Posts