我是Python新手,我非常喜欢这种语言。但是最近我在Eclipse中使用PyDev时遇到了一个恼人的问题。返回的python对象方法的Intellisense
一些方法返回一些类的一个实例。但我无法获得实例方法的智能感知。
例如:
import openpyxl
from openpyxl.reader.excel import load_workbook
from openpyxl.worksheet import Worksheet
xlsFile='hello.xlsx'
wbook = load_workbook(xlsFile)
wsheet1=wbook.get_sheet_by_name('mysheet')
wsheet1.cell('A9').hyperlink=r'\\sharefolder'
wsheet2=Worksheet()
wsheet2.cell('A1').hyperlink=r'\\sharefolder'
在这段代码中,我可以得到方法cell()
提示与wsheet2
,但不与wsheet1
。虽然他们都是我已经导入的Worksheet
类型。看来Python或PyDev无法正确检测返回对象的类型。
这是语言限制吗?还是有什么我做错了?现在,我必须深入研究源代码,看看返回值的实际类型是什么。然后检查该类型中定义的方法。这非常乏味。
我写了一个小测试来重现这个问题。奇怪的是,intellisense似乎工作。