понимание списка в режиме встраивания ipython - PullRequest
0 голосов
/ 12 ноября 2018

Когда я использую списочный анализ в режиме IPython embed (), я обнаружил, что он не работает:

In [1]: from IPython import embed

In [2]: embed()
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: k = 0

In [2]: [k for i in range(0,4)]

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-2-90af25eac9a7> in <module>()
----> 1 [k for i in range(0,4)]

<ipython-input-2-90af25eac9a7> in <listcomp>(.0)
----> 1 [k for i in range(0,4)]

NameError: name 'k' is not defined

Однако, если я нахожусь в режиме исходного ipython, он работает хорошо:

In [1]: k = 0

In [2]: [k for i in range(0,4)]
Out[2]: [0, 0, 0, 0]

Итак, почему такая разница?Что я могу сделать, если я хочу проверить свое понимание списка?

...