您好,登錄后才能下訂單哦!
因?yàn)閜ython是動(dòng)態(tài)語(yǔ)言,變量類(lèi)型是可變的,所以不管pycharm還是sublime都做不到準(zhǔn)確的類(lèi)型推斷。
一個(gè)比較取巧的做法是assert
assert isinstance(a, A_type)
a.<TAB> # 可以補(bǔ)全
補(bǔ)充知識(shí):pycharm 第三方庫(kù)函數(shù)無(wú)代碼提示解決方案
問(wèn)題描述
呃呃呃,想使用urllib庫(kù)進(jìn)行HTTP 調(diào)用,然后發(fā)現(xiàn)有些地方?jīng)]有代碼提示。。。這就很難受了,我根本不清楚API的,你不給我一點(diǎn)提示就過(guò)分了呀?。?!
from urllib import request def demo(): s = request.urlopen('http://www.baidu.com') // 沒(méi)有提示。。。 s._ if __name__ == '__main__': demo()
解決方案
經(jīng)過(guò)一些資料查閱,發(fā)現(xiàn)了這些解決方法,僅供參考:
使用isinstance 指定
from urllib import request from http.client import HTTPResponse def demo(): s = request.urlopen('http://www.baidu.com') assert isinstance(s, HTTPResponse) // 這就有提示了 s.read() if __name__ == '__main__': demo()
使用類(lèi)型注解
from urllib import request from http.client import HTTPResponse def demo(): s = request.urlopen('http://www.baidu.com') # type: HTTPResponse // 這樣也OK! s.read() if __name__ == '__main__': demo()
指定類(lèi)型
from urllib import request from http.client import HTTPResponse def demo(): s = request.urlopen('http://www.baidu.com') """:type:HTTPResponse""" // 這樣也是OK滴! s.read() if __name__ == '__main__': demo()
以上這篇解決pycharm不能自動(dòng)補(bǔ)全第三方庫(kù)的函數(shù)和屬性問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。