【发布时间】:2016-01-23 11:40:42
【问题描述】:
我是 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'
在这段代码中,我可以使用wsheet2 获得方法cell() 的提示,但不能使用wsheet1。虽然它们都是我已经导入的Worksheet 类型。似乎 python 或 PyDev 无法正确检测返回对象的类型。
这是语言限制吗?还是我做错了什么?现在,我必须深入研究源代码,看看返回值的真正类型是什么。然后检查该类型中定义的方法。这很乏味。
我写了一个小测试来重现这个问题。奇怪,智能感知似乎起作用了。
【问题讨论】:
标签: python intellisense static-analysis tooling