私は Python を初めて使用しますが、この言語が大好きです。しかし、Eclipse で PyDev を使用しているときに、最近 1 つの厄介な問題に遭遇しました。
一部のメソッドが一部のクラスのインスタンスを返しました。しかし、インスタンスのメソッドのインテリセンスを取得できません。
例えば:
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 が返されたオブジェクトの型を正しく検出できないようです。
これは言語の制限ですか?それとも私が間違ったことをしましたか?とりあえず、ソース コードを掘り下げて、戻り値の実際の型を確認する必要があります。次に、その型で定義されているメソッドを確認します。とても面倒です。
この問題を再現するための小さなテストを作成しました。奇妙なことに、インテリセンスは機能しているようです。