解决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实现udp数据报传输的方法
Sep 26 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
Python类定义和类继承详解
May 08 Python
Python中有趣在__call__函数
Jun 21 Python
Python实现提取谷歌音乐搜索结果的方法
Jul 10 Python
python黑魔法之参数传递
Feb 12 Python
Python编程实现二叉树及七种遍历方法详解
Jun 02 Python
transform python环境快速配置方法
Sep 27 Python
详解python分布式进程
Oct 08 Python
使用IDLE的Python shell窗口实例详解
Nov 19 Python
python如何提取英语pdf内容并翻译
Mar 03 Python
python爬虫构建代理ip池抓取数据库的示例代码
Sep 22 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文件上传表单摘自drupal的代码
2011/02/15 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
php封装单文件上传到数据库(路径)
2017/10/15 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
CSS常用网站布局实例
2008/04/03 Javascript
用户注册常用javascript代码
2009/08/29 Javascript
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
关于js类的定义
2011/06/28 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
原生javascript实现分页效果
2017/04/21 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
Python中编写ORM框架的入门指引
2015/04/29 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
Python中index()和seek()的用法(详解)
2017/04/27 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
Python实现求解括号匹配问题的方法
2018/04/17 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
Python解析微信dat文件的方法
2020/11/30 Python
实习生自荐信范文分享
2013/11/27 职场文书
写演讲稿要注意的六件事
2014/01/14 职场文书
新年主持词
2014/03/27 职场文书
集中采购方案
2014/06/10 职场文书
2014年有孩子的离婚协议书范本
2014/10/08 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
golang使用map实现去除重复数组
2022/04/14 Golang