pycharm 函数参数,不自动提示该参数的方法和属性

发布于 2022-09-06 02:23:24 字数 244 浏览 11 评论 0

首先声明,自动补全已经打开,其他基本形式的自动补全是可以的。

A对象有dosomething()方法

def foo(a):
    a.dosomething()
    
def foo2():
    a = A()
    foo(a)

在方法 foo 输入 a. 之后不会自动提示补全。是因为Python函数没有参数类型的声明,所以无法识别参数类型?
有什么办法可以变相解决吗?

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

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

发布评论

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

评论(2

╰沐子 2022-09-13 02:23:24

按道理你这种情况是会自动补全的。
你也可以这样,添加:cls

class Aaaa:
    def dosomething(self):pass

def foo2(a:Aaaa):
    a.dosomething()
筱武穆 2022-09-13 02:23:24

参数注释只能用于参数类型限定为一种的情况, 如果这个参数准备接受不同类型, 那么参数注释也起不到帮助补全代码的作用.

实际上, 代码补全根本不需要额外的操作, python中可直接对类调用方法并把这个参数作为实例传入, 这样就不愁代码补全了.

>>> class A:
    def afunc(me):
        print('via A')

        
>>> def f(arg):
    #例如: 如果把arg当做A类型, 那就这样写. 这样即使arg有多种类型的可能也能实现代码补全
    A.afunc(arg)

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