Here's the code: http://paste.pocoo.org/show/238093/
My main questions right now are:
- Is Line 37 mainly the gist of this program? And does it simply calculate this once and then print the result? Ex: - self.start + key*self.stepwith- start=1, key=4, step=2[prints 9]
- where does the variable 'value' actually come into play here? Line 39. 
- Not worried about the "Exceptions" part of the program. I pretty much understand what it's doing. 
- Lastly, and you really don't have to answer this one as it's probably better as another question "down the road" but I really do not see how - __getitem__,- __setitem__...etc...you still have to write in your own code to "make it do stuff". :) I'm just not getting what's so "special" ab开发者_运维技巧out these special methods.
- Yes, more or less.
- This is the exception. If someone assigns a value to a particular index, the sequence remembers that and will return that value instead of calculating it. Note that the code here does not actually use this function.
- Random comment instead: the last 3 lines of the getitem function could be much more concisely implemented as return self.changed.get(key, self.start + key*self.step)--dict.getlets you provide a default to return if a key is missing.
- They're "special" only in that they let you override what happens when someone does yourthing[foo]oryourthing[foo] = bar. You see the first going on here; the second is what happens if someone doess[5] = 100-- the 100 ends up as thevalueof a__setitem__call.
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论