I've discovered what appears to be a scoping bug in Python 3.5.1, where the class scope is not available inside a list comprehension defined in the class scope.
Attached is a simple example script, also available at the following gist:
https://gist.github.com/eykd/c63a7cf760a538ee8bc3828362ed12e3
As demonstrated, the script runs fine in Python 2.7.11, but fails in 3.5.1. I can't think of any good reason why the class scope wouldn't be available to the comprehension scope, but if there is a reason, I'm keen to know what it is! |