为什么pycharm跳转list.insert跳到了def insert(self, *args, **kwargs):
时间: 2023-09-28 09:11:12 浏览: 82
可能是因为 Pycharm 中的代码导航工具出现了问题,导致跳转错误。在 Python 中,列表的 `insert()` 方法是内置的方法,其源代码并不是 Python 代码,而是用 C 语言编写的。
当我们在 Pycharm 中跳转到 `list.insert()` 方法时,Pycharm 会尝试查找 `list.insert()` 方法的定义,而由于 `insert()` 方法是内置的方法,其定义在 Python 代码中并不存在。因此,Pycharm 可能会跳转到了一个名称与 `insert` 相同的 Python 代码中的函数定义中,例如你提到的 `def insert(self, *args, **kwargs)`。
如果你想要精准地跳转到 `list.insert()` 方法的定义,可以考虑使用 Pycharm 的源代码查看器,或者查找 Python 官方文档中 `list.insert()` 方法的定义。
相关问题
pycharm跳转list.insert跳到了def insert(self, *args, **kwargs): 这是什么意思 怎么看函数的参数如何填写
跳转到了 `def insert(self, *args, **kwargs)` 可能是因为你的 Pycharm 中的代码导航工具有问题,建议检查一下 Pycharm 的设置是否正确。
至于如何查看函数的参数如何填写,我们可以通过查看函数的文档字符串(docstring)来了解函数的参数及其用法。在 Pycharm 中,我们可以将光标放在函数名上,然后按下 `Ctrl + Q` 快捷键,即可查看函数的文档字符串。
另外,我们也可以查看函数定义时的参数列表,例如 `def insert(self, *args, **kwargs)` 中的 `*args` 和 `**kwargs` 分别表示接受任意数量的位置参数和关键字参数。在函数内部,我们可以通过对参数进行处理来实现具体的业务逻辑。如果有需要,我们也可以在函数定义时为参数指定默认值,例如 `def insert(self, index, object=None):`,这样在调用函数时可以只传递必填参数,而可选参数则会使用默认值。
Traceback (most recent call last): File "D:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3369, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-6-b8424bd64091>", line 2, in <cell line: 2> import torchvision File "D:\Pycharm\PyCharm Community Edition 2022.1.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "D:\Anaconda\lib\site-packages\torchvision\__init__.py", line 6, in <module> from torchvision import datasets, io, models, ops, transforms, utils File "D:\Pycharm\PyCharm Community Edition 2022.1.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "D:\Anaconda\lib\site-packages\torchvision\models\__init__.py", line 17, in <module> from . import detection, optical_flow, quantization, segmentation, video File "D:\Pycharm\PyCharm Community Edition 2022.1.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "D:\Anaconda\lib\site-packages\torchvision\models\quantization\__init__.py", line 3, in <module> from .mobilenet import * File "D:\Pycharm\PyCharm Community Edition 2022.1.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "D:\Anaconda\lib\site-packages\torchvision\models\quantization\mobilenet.py", line 1, in <module> from .mobilenetv2 import * # noqa: F401, F403 File "D:\Pycharm\PyCharm Community Edition 2022.1.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "D:\Anaconda\lib\site-packages\torchvision\models\quantization\mobilenetv2.py", line 5, in <module> from torch.ao.quantization import DeQuantStub, QuantStub File "D:\Pycharm\PyCharm Community Edition 2022.1.3\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) ModuleNotFoundError: No module named 'torch.ao.quantization'
这个错误通常是因为 torchvision 的版本与你安装的 torch 版本不兼容导致的。请尝试通过升级 torchvision 来解决此问题。可以使用以下命令升级 torchvision:
```
pip install --upgrade torchvision
```
这将安装 torchvision 的最新版本,其中包含了与你安装的最新 torch 版本兼容的功能和修复。如果问题仍然存在,请确保你安装的 torch 和 torchvision 版本是兼容的,并且与你的 Python 版本相匹配。希望这能解决你的问题!如果还有其他问题,请随时提问。
阅读全文