我有一种情况,在第一个类中,我声明数组,并将其传递给另一个对象,该对象打印该数组中元素的名称。它可以工作,但是当我在ReadCarNames中输入'car'时,ide不建议我输入'name'?我正在wing ide 4 pro中试用。我可以在方法自述文件中铸造汽车吗?在
########################################################################
class MyClass:
""""""
#----------------------------------------------------------------------
def __init__(self):
cars=[]
cars.append(Car('bmw'))
cars.append(Car('audi'))
reader=Reader()
reader.ReadCarNames(cars)
########################################################################
class Car:
""""""
#----------------------------------------------------------------------
def __init__(self,name):
self.name=name
########################################################################
class Reader:
""""""
#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
def ReadCarNames(self,cars):
for counter,car in enumerate(cars):
print str(counter) +' '+ car.name
请看这里: http://www.wingware.com/doc/edit/helping-wing-analyze-code
您的IDE(Wing)并不确定
cars
中是什么类型的对象,但是您可以使用assert语句告诉它car
是什么,并且它将按照您想要的方式自动完成。如果你愿意的话,你可以把它看作是为Wing的眼睛铸造字体。在或者,如果您不想让断言一直启动,您可以将其包装在Wing的SourceAssistant使用但python不会执行的“if 0”逻辑中。在
^{pr2}$目前您不能告诉Wing一个list/tuple/etc只包含一种类型的对象以及它是什么,但它在他们的计划中,并且将使用类似的语法。在
IDE不知道从枚举返回的类型,因此在这种情况下无法执行自动完成。它也不知道
cars
列表包含Car
。在在Wing IDE中工作的一个好方法是设置一个断点,运行到它,然后在编辑器(在活动调试堆栈上的代码中)和debug Probe中获得源于运行时的分析。这在“静态和运行时分析”屏幕转换中进行了说明,从最后一个开始到http://wingware.com/wingide/code-intelligence
相关问题 更多 >
编程相关推荐