gpt4 book ai didi

python - 使用列表生成器时 Python 3 中的 pdb 模块中可能存在错误

转载 作者:IT老高 更新时间:2023-10-28 20:54:59 27 4
gpt4 key购买 nike

在 Python 3 中运行此代码后:

import pdb

def foo():
nums = [1, 2, 3]
a = 5
pdb.set_trace()

foo()

以下表达式有效:

(Pdb) print(nums)
[1, 2, 3]

(Pdb) print(a)
5

(Pdb) [x for x in nums]
[1, 2, 3]

但以下表达式失败:

(Pdb) [x*a for x in nums]
*** NameError: global name 'a' is not defined

以上在 Python 2.7 中运行良好。

这是一个错误还是我遗漏了什么?

更新:查看新接受的答案。这确实是一个错误(或有问题的设计),现在已通过在 pdb 中引入新的命令和模式来解决。

最佳答案

如果您在 [i]pdb session 中键入 interact,您将获得一个交互式 session ,并且列表推导在此模式下会按预期工作

来源:http://bugs.python.org/msg215963

关于python - 使用列表生成器时 Python 3 中的 pdb 模块中可能存在错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17290314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com