首页 新闻 会员 周边 捐助

pycharm报警告

0
悬赏园豆:20 [已解决问题] 解决于 2023-05-15 09:07

使用getattr正常的,但是使用自定义方法pycharm就会报警告,显示意外实参(都是可以正常运行的)

求解答使用自定义方法怎样不让pycharm报警告

Ttonet的主页 Ttonet | 初学一级 | 园豆:5
提问于:2023-05-05 08:59
< >
分享
最佳答案
1

您似乎遇到了PyCharm的问题,在使用“getattr2”之类的自定义方法时,它会给您一条警告消息,但在使用内置的“getattr”方法时不会。此警告消息表示可能有意外的参数传递给该方法。
一种可能的解决方案是向方法签名添加类型提示。这将有助于PyCharm理解预期的参数,并防止出现警告消息。例如:

def getattr2(obj: Any, name: str, default: Optional[Any] = None) -> Any:
# method implementation

在本例中,“obj”参数的类型应为“Any”,“name”参数的型号应为“str”,而“default”参数的种类应为“Optional[Any]”。返回值的类型应为“Any”。
通过添加这些类型提示,PyCharm将能够为您的代码提供更准确的警告和建议。

收获园豆:20
lanedm | 老鸟四级 |园豆:2396 | 2023-05-13 11:12

pycharm提示这个警告是因为代码不规范吗,怎样优化代码格式消除这种警告,而不是在pycharm里设置不提示此类警告

Ttonet | 园豆:5 (初学一级) | 2023-05-14 20:48

@Ttonet: PyCharm的警告信息通常是指代码中存在的一些潜在问题或者不规范的写法,这些警告信息可以帮助我们提高代码质量和可读性。但是,如果你希望禁止PyCharm提示警告信息,可以按照以下步骤进行操作:

打开PyCharm的设置:点击菜单栏上的“File” -> “Settings”。

进入“Editor”设置:在左侧的菜单栏中选择“Editor”选项,然后选择“Inspections”。

关闭警告信息:在“Inspections”页面中,可以看到各种类型的警告信息,例如“Code style”、“Python”等。如果你希望禁止某种类型的警告信息,可以在该类型下方的复选框中取消勾选。如果你希望禁止所有警告信息,可以在页面顶部的搜索框中输入“inspection”关键字,然后选择“Python”选项,将“Severity”下拉菜单中的选项设置为“None”。

应用设置:在完成设置后,点击页面底部的“Apply”或“OK”按钮保存设置即可。

需要注意的是,禁止警告信息可能会影响代码的质量和可读性,建议在开发过程中尽量保持警告信息的开启状态,以便更好地调试代码。

lanedm | 园豆:2396 (老鸟四级) | 2023-05-14 22:01

@lanedm: 这样设置只是不让pycharm提示了 但是警告还是存在 没有优化代码解决的方案吗

Ttonet | 园豆:5 (初学一级) | 2023-05-15 08:35

@Ttonet: 看前面的回复,给方法的参数加上类型限制 def getattr2(obj: Any, name: str, default: Optional[Any] = None) -> Any:

lanedm | 园豆:2396 (老鸟四级) | 2023-05-15 08:36

@lanedm: 方法的参数是有类型注释的警告没有消除

Ttonet | 园豆:5 (初学一级) | 2023-05-15 08:49

@Ttonet: 首先,这个问题可能是由于PyCharm的缓存导致的。您可以尝试清除PyCharm的缓存并重新启动PyCharm来解决这个问题。您可以在PyCharm的File菜单中找到"Invalidate Caches / Restart"选项来清除缓存。

其次,这个问题可能是由于您的代码中存在其他问题而导致的。例如,如果您的代码中存在语法错误或其他警告,它们可能会干扰PyCharm的警告信息。您可以尝试修复这些问题并重新启动PyCharm来解决这个问题。

最后,这个问题可能是由于PyCharm的设置不正确而导致的。您可以尝试检查PyCharm的设置并确保它们正确地配置了参数类型定义。您可以在PyCharm的Settings菜单中找到"Editor"选项,然后选择"Inspections"来查看和配置警告信息

lanedm | 园豆:2396 (老鸟四级) | 2023-05-15 08:54

@Ttonet: 那个(self 参数也注意一下,是否需要定义为Any

lanedm | 园豆:2396 (老鸟四级) | 2023-05-15 08:56

@lanedm: 谢谢您的回复,按照你所说的将self参数加上了类型注释 警告就消除了 ,正常情况下self也是可以指向任何类型的,不知道这里不加类型注释 pycharm为什么提示警告

Ttonet | 园豆:5 (初学一级) | 2023-05-15 09:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册