由于一些我無法控制的架構原因,我經常使用并希望完成完整代碼的對象是在源代碼中已經存在的靜態功能之上的幾個功能的動態組合。import lgb.reqs.plan# Various imports which dynamically extend the smallformimport lgb_extensions.water_extrasimport lgb_extensions.toolkit_extrasd = c.req[0] # type: lgb.reqs.plan.smallform d = d # type: lgb_extensions.water_extras.commond = d # type: lgb_extensions.toolkit_extras.common# Now I get the autocomplete on d as I type "d."d.我發現重新分配d方法很好用,但感覺不對。有沒有辦法用元組或其他東西輸入提示?我試過了,無法弄清楚。我發現 jupyter notebook 非常適合自動完成,如果我真的需要探索未知的代碼庫,我會跳到 ipython 或 notebook 會話中,但在這種情況下,我對代碼庫非常熟悉,只是我希望自動完成功能更好,因為我永遠不記得叫什么東西了。如果重要的話,我主要使用 pycharm 或 atom。如果只有幾個擴展,上面的解決方案已經解決了我的問題,但是當我有 10 個擴展對象時它不起作用。在我通常使用的情況下,我有大約 20 件事擴展了我想要自動完成的對象。
1 回答

MYYA
TA貢獻1868條經驗 獲得超4個贊
你也許可以Union在這里使用。更多的是當一個名字在不同的情況下可以包含不同的類型。
例如。
from typing import Union
a = f() # type: Union[str, int]
d. # now get autocompletion for str and int from IDEs
添加回答
舉報
0/150
提交
取消