我是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似乎工作。