解决pycharm不能自动补全第三方库的函数和属性问题


Posted in Python onMarch 12, 2020

因为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不能自动补全第三方库的函数和属性问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基础教程之数字处理(math)模块详解
Mar 25 Python
Python中的hypot()方法使用简介
May 18 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
Jan 31 Python
一道python走迷宫算法题
Jan 22 Python
python实现远程通过网络邮件控制计算机重启或关机
Feb 22 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
我用Python抓取了7000 多本电子书案例详解
Mar 25 Python
python删除列表元素的三种方法(remove,pop,del)
Jul 22 Python
Python 点击指定位置验证码破解的实现代码
Sep 11 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
Mar 30 Python
Python实例方法、类方法、静态方法区别详解
Sep 05 Python
python内置模块之上下文管理contextlib
Jun 14 Python
Matplotlib使用Cursor实现UI定位的示例代码
Mar 12 #Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 #Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 #Python
Python3 获取文件属性的方式(时间、大小等)
Mar 12 #Python
Python获取对象属性的几种方式小结
Mar 12 #Python
深入浅析Python 命令行模块 Click
Mar 11 #Python
python字典和json.dumps()的遇到的坑分析
Mar 11 #Python
You might like
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
PHP中串行化用法示例
2016/11/16 PHP
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
两种简单实现菜单高亮显示的JS类代码
2010/06/27 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
jQuery旋转插件jqueryrotate用法详解
2016/10/13 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
Angular实现响应式表单
2017/08/04 Javascript
js断点调试经验分享
2017/12/08 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
python中函数总结之装饰器闭包详解
2016/06/12 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
Python数据可视化:箱线图多种库画法
2019/11/06 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
荷兰电脑专场:Paradigit
2018/05/05 全球购物
报告会主持词
2014/04/02 职场文书
保洁公司服务承诺书
2014/05/28 职场文书
追悼会悼词大全
2015/06/23 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js