Объем понимания вложенного списка

Лучший способ объяснить мой вопрос на примере:

example.py:

class A(object):
    integers = [1, 2, 3]
    singles = [i for i in integers]

class B(object):
    integers = [1, 2, 3]
    pairs = [(i, j) for i in integers for j in integers]

Когда я запускаю это под python 2, он работает нормально, но под python 3 я получаюNameError для классаB (но не классA):

$ python example.py
Traceback (most recent call last):
  File "example.py", line 6, in <module>
    class B(object):
  File "example.py", line 8, in B
    pairs = [(i, j) for i in integers for j in integers]
  File "example.py", line 8, in <listcomp>
    pairs = [(i, j) for i in integers for j in integers]
NameError: global name 'integers' is not defined

Почему только классB поднятьNameError а почему только под Python 3?

Ответы на вопрос(1)

Ваш ответ на вопрос