On Thu, Mar 1, 2018 at 1:46 PM, Rick Johnson <rantingrickjohn...@gmail.com> wrote: > On Wednesday, February 28, 2018 at 5:02:17 PM UTC-6, Chris Angelico wrote: > >> Here's one example: reference cycles. When do they get detected? >> Taking a really simple situation: >> >> class Foo: >> def __init__(self): >> self.self = self > > *shudders* > > Can you provide a real world example in which you need an > object which circularly references _itself_? This looks like > a highly contrived example used to (1) merely win the > argument, and (2) Bump fib() up one position from it's > current position as "the worst introductory example of how > to write a function in the history of programming tutorials"
Not off hand, but I can provide an EXTREMELY real-world example of a fairly tight loop: exceptions. An exception has a reference to the local variables it came from, and those locals may well include the exception itself: try: 1/0 except Exception as e: print(e) The ZeroDivisionError has a reference to the locals, and 'e' in the locals refers to that very exception object. ChrisA -- https://mail.python.org/mailman/listinfo/python-list