Leg __dict__ attribuut [DUPLICEER]

Ik ben echt in de war over de __dict__Attribuut. Ik heb veel doorzocht, maar toch ben ik niet zeker van de output.

Kan iemand het gebruik van dit kenmerk uit nul uitleggen in gevallen wanneer deze wordt gebruikt in een object, een klasse of een functie?


Antwoord 1, Autoriteit 100%

In principe bevat het alle kenmerken die het betreffende object beschrijven. Het kan worden gebruikt om de attributen te wijzigen of te lezen.
Citeren van de documentatie voor __dict__

Een woordenboek of een ander toewijzingsobject dat wordt gebruikt om de attributen van een object (schrijfbare) kenmerken op te slaan.

Vergeet niet dat alles een object in Python is. Wanneer ik alles zeg, bedoel ik alles zoals functies, klassen, objecten enz. (YA lees je het goed, klassen. Klassen zijn ook objecten). Bijvoorbeeld:

def func():
    pass
func.temp = 1
print(func.__dict__)
class TempClass:
    a = 1
    def temp_function(self):
        pass
print(TempClass.__dict__)

wordt uitgevoerd

{'temp': 1}
{'__module__': '__main__', 
 'a': 1, 
 'temp_function': <function TempClass.temp_function at 0x10a3a2950>, 
 '__dict__': <attribute '__dict__' of 'TempClass' objects>, 
 '__weakref__': <attribute '__weakref__' of 'TempClass' objects>, 
 '__doc__': None}

Other episodes