我是 Python 新手,我非常喜欢这种语言。但是我最近在 Eclipse 中使用 PyDev 时遇到了一个烦人的问题。
某些方法返回了某个类的实例。但我无法获得实例方法的智能感知。
例如:
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 无法正确检测返回对象的类型。
这是语言限制吗?还是我做错了什么?现在,我必须深入研究源代码,看看返回值的真正类型是什么。然后检查该类型中定义的方法。这很乏味。
我写了一个小测试来重现这个问题。奇怪的是,智能感知似乎起作用了。