您好,登錄后才能下訂單哦!
因為python是動態語言,變量類型是可變的,所以不管pycharm還是sublime都做不到準確的類型推斷。
一個比較取巧的做法是assert
assert isinstance(a, A_type)
a.<TAB> # 可以補全
補充知識:pycharm 第三方庫函數無代碼提示解決方案
問題描述
呃呃呃,想使用urllib庫進行HTTP 調用,然后發現有些地方沒有代碼提示。。。這就很難受了,我根本不清楚API的,你不給我一點提示就過分了呀!!!
from urllib import request def demo(): s = request.urlopen('http://www.baidu.com') // 沒有提示。。。 s._ if __name__ == '__main__': demo()
解決方案
經過一些資料查閱,發現了這些解決方法,僅供參考:
使用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()
使用類型注解
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()
指定類型
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不能自動補全第三方庫的函數和屬性問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。