解决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操作数据库之sqlite3打开数据库、删除、修改示例
Mar 13 Python
Python getopt模块处理命令行选项实例
May 13 Python
Python迭代用法实例教程
Sep 08 Python
用Python登录Gmail并发送Gmail邮件的教程
Apr 17 Python
python搭建微信公众平台
Feb 09 Python
python3.4控制用户输入与输出的方法
Oct 17 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
在Django下测试与调试REST API的方法详解
Aug 29 Python
详解Django admin高级用法
Nov 06 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
Python如何实现邮件功能
May 27 Python
python里的单引号和双引号的有什么作用
Jun 17 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
神族 PROTOSS 概述
2020/03/14 星际争霸
供参考的 php 学习提高路线分享
2011/10/23 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
JS 去除Array中的null值示例代码
2013/11/20 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
window.location.reload 刷新使用分析(去对话框)
2015/11/11 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
python检测远程端口是否打开的方法
2015/03/14 Python
深入理解NumPy简明教程---数组2
2016/12/17 Python
Python装饰器原理与用法分析
2018/04/30 Python
使用python进行拆分大文件的方法
2018/12/10 Python
python面向对象法实现图书管理系统
2019/04/19 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
通过python3实现投票功能代码实例
2019/09/26 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
Python分类测试代码实例汇总
2020/07/23 Python
python利用线程实现多任务
2020/09/18 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
自我鉴定范文
2013/11/10 职场文书
高中生期末评语
2014/01/28 职场文书
勾股定理课后反思
2014/04/26 职场文书
单位未婚证明范本
2014/11/25 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
高校教师个人总结
2015/02/10 职场文书
2015年银行工作总结范文
2015/04/01 职场文书