为什么 Eclipse python 自动完成添加 self 参数?

发布于 2024-12-07 19:59:10 字数 113 浏览 1 评论 0原文

我最近开始使用 PyDev,方法自动完成似乎很愚蠢:我在下拉列表中选择方法名称,单击 Enter,它会完成添加 self 参数的行,但在 Python 中,您不应该在以下情况下指定 self 参数:你调用方法!?

I recently started to use PyDev and the method autocomplete seems to be stupid: I select the method name in the dropdown list, click enter and it completes the line adding the self parameter, but in Python you are not supposed to specify the self parameter when you call the methods!?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沧笙踏歌 2024-12-14 19:59:10

如果您在类中编写新方法,它会执行此操作。但如果您之前使用 @staticmethod 进行装饰,则不会,这就是 PyDev 中自动完成的内容:

def normal_method(): #nothing gets autoinserted
    pass

class Foo:
    def instance_method(self): #self gets autoinserted
        pass

    @staticmethod
    def static_method(): # nothing is inserted
        pass

    @classmethod
    def class_method(cls): #cls is autoinserted
        pass

您确定发生这种情况时您不在课堂上吗?如果你是,那么我认为这是一个合理的行为,如果不是,PyDev 正在为你烦恼。

If you are writing a new method in a Class, it does this. But not if you have previously decorated with for example @staticmethod, this is what gets autocompleted for me in PyDev:

def normal_method(): #nothing gets autoinserted
    pass

class Foo:
    def instance_method(self): #self gets autoinserted
        pass

    @staticmethod
    def static_method(): # nothing is inserted
        pass

    @classmethod
    def class_method(cls): #cls is autoinserted
        pass

Are you sure that you're not in a class when this happens? If you are, then I think it is a reasonable behavior, if not, PyDev is bugging out for you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文