我有两个类,分别是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。
答案 0 :(得分:2)
Python是一种动态类型的语言,您的编辑器无法在运行时评估传递给a
的构造函数的参数B
的类型,以向您显示其属性。
您可以使用类型提示来告诉您,您期望将A
对象作为参数a
传递给B
的构造函数:
def __init__(self, a: A):
没有类型提示,您可以使用ctrl(or command)+space
查看所有可能的补全。
答案 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}