自动完成传递的类对象

时间:2019-05-08 05:22:32

标签: python class parameters visual-studio-code autocomplete

我有两个类,分别是A和B。B在其构造函数A中将其作为参数。类A具有函数foo。现在,当我键入“ a”时。我希望Vs代码自动完成以显示建议“ a.foo()”。目前无法正常运作。我是否需要输入提示或类似内容?我尝试导入A,但无法正常工作。

class A:
    def __init__(self):
    def foo(self):
        print("hello")
class B:
    def __init__(self, a):
        a. <-- this should show the members of A but does not

运行Mac和带有Microsoft扩展的Python 2.7。

2 个答案:

答案 0 :(得分:2)

Python是一种动态类型的语言,您的编辑器无法在运行时评估传递给a的构造函数的参数B的类型,以向您显示其属性。

您可以使用类型提示来告诉您,您期望将A对象作为参数a传递给B的构造函数:

def __init__(self, a: A):

enter image description here

没有类型提示,您可以使用ctrl(or command)+space查看所有可能的补全。

enter image description here

答案 1 :(得分:0)

尝试一下:

class A:
    def __init__(self):
    def foo(self):
        print("hello")
class B(A):
    def __init__(self):
       super().__init__()

现在您应该能够:

classexp = B()
classexp.{some A function}