未经Usag重新申报的处理

2024-05-08 20:24:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我看了以下类似的问题: Redeclared without usage和{a2}。

所以我在这里要问的是,当任何建议的解决方案导致程序无法运行时,您如何处理“未经使用而重新声明的上面”。

例如,您可以从OpenAI docs中获取示例:

import gym

env = gym.make('CartPole-v0')

for i_episode in range(20):
    observation = env.reset()

    for t in range(100):
        env.render()
        print(observation)
        action = env.action_space.sample()
        observation, reward, done, info = env.step(action)
        if done:
            print("Episode finished after {} time steps.".format(t+1))
            break

在PyCharm或IntelliJ中,上面的第6行(observation = env.reset())提供了警告:

^{pr2}$

我意识到这只是一个警告,我可以忽略它,但我找到的解决办法都不允许我消除这个警告。例如,将有问题的行移出循环是不好的。如果这样做,程序将停止正常工作。

我希望我的处理技巧能达到我的水平。到目前为止,我对这个特定的搜索只提供了导致代码中断的示例。但搜索也表明,我可能应该删除这个警告,因为它可能指示代码,导致以后很难找到错误。


Tags: 代码in程序env警告示例forrange
1条回答
网友
1楼 · 发布于 2024-05-08 20:24:23

一个好的做法是为外部范围中所需的嵌套中指定的变量预先定义变量,或者如果可能错误地指定了默认类型/值,则可以指定一个默认类型/值。正如你和其他问题/答案所说,这是一个警告。对的。检查并不总是100%准确/有用,但有一个清醒的头脑总是很好的。在

您可以在PyCharm中禁用此特定警告。在

在PyCharm中:File>;Settings>;Editor>;Inspections

Disabling Warning in PyCharm Settings

相关问题 更多 >