Python Memory Management and Tips Transcripts
Chapter: Memory and classes
Lecture: Concept: Class dictionaries
0:00 We're gonna talk about this idea, this concept called "slots", which lets us much more efficiently store data associated with a class at the cost of
0:10 some dynamic flexibility. So, standard Python classes we saw look like this. Here we've got a thing, we call it a dynamic thing, because we can do the
0:19 dynamic stuff to it, like later on add features to it. If we create three of them: d1, d2, d3, and they have numbers: 1,2,3,4, 4,5,6,7, 7,8,9,10
0:30 you can see they each have a newly allocated and managed dictionary, and each one of those is gonna point over here to,
0:39 you know, it's gonna have its own details, Right? So the first one is gonna have "field a", which currently
0:44 has a value of 1, the "field b" has the value 2 and so on. But the last one, the "field a" is value 7 and so on.
0:51 And we saw that we can even dynamically add to these objects. I don't think that's a super good idea,
0:55 but you can do it. And these dictionaries are there to support that amongst other types of things. This is how things work
1:03 unless you take specific actions. This doesn't look super efficient, does it, right? Especially the repeating of the keys a, b, c and d over and over.
1:13 If I've got a list of 100,000 dynamic things, I've got a, b, c, and d as keys stored in this dictionary, repeated 100,000 times.
1:23 Maybe we can do something with that to make our code more efficient in terms of memory usage.