gpt4 book ai didi

Python 不会警告变量重新声明

转载 作者:行者123 更新时间:2023-11-28 21:20:51 24 4
gpt4 key购买 nike

我花了一整天的时间来追踪这个错误:

for idx, val in enumerate(some_list):    for idx, otherval in enumerate(another_list): #the idx for the outer loop is overwritten        #blah blah

我有强类型语言背景,因此深受其害。在强类型语言中,我会收到关于变量重新声明的错误。我不知道解释器为什么不对此发出警告,以及这背后的设计决策。这显然是一个错误,我的意思是,这个构造的合法用途可能是什么?有没有启用这种检查的选项?谢谢。

最佳答案

无法启用这种检查。通常我建议使用 linting 工具,但 pylint(我最喜欢的)似乎没有注意到这一点,pychecker 也没有。

至于理由:你想允许像这样的东西

a = 1
a = 2

好吧,那怎么样

a = ""
a = 1

嗯,那也应该没问题。现在呢

a = 1
for a in range(5):

你看到问题了吗?并不清楚什么应该是错误/警告,什么不应该。

(我承认我希望这个东西能被像pychecker这样的工具捕获,我有点失望。)

关于Python 不会警告变量重新声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22186027/

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