解决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中类的继承代码实例
Oct 28 Python
Python实现对比不同字体中的同一字符的显示效果
Apr 23 Python
Python创建模块及模块导入的方法
May 27 Python
Python+selenium实现截图图片并保存截取的图片
Jan 05 Python
python3安装speech语音模块的方法
Dec 24 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
Aug 07 Python
Python通过socketserver处理多个链接
Mar 18 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 Python
python 解决pycharm运行py文件只有unittest选项的问题
Sep 01 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 Python
Python爬虫入门案例之回车桌面壁纸网美女图片采集
Oct 16 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
深入解析PHP中逗号与点号的区别
2013/08/05 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
一些javascript一些题目的解析
2010/12/25 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
幼儿师范毕业生自荐信
2013/11/09 职场文书
办公室文秘岗位职责
2013/11/15 职场文书
四年级数学教学反思
2014/02/02 职场文书
就业协议书的作用
2014/04/11 职场文书
师范毕业生求职信
2014/07/11 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书