解决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 05 Python
Python 爬虫图片简单实现
Jun 01 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
python的exec、eval使用分析
Dec 11 Python
Python中协程用法代码详解
Feb 10 Python
解决python3 网络请求路径包含中文的问题
May 10 Python
python实现XML解析的方法解析
Nov 16 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
python dumps和loads区别详解
Feb 04 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
Mar 26 Python
jupyter notebook插入本地图片的实现
Apr 13 Python
Python 调用C++封装的进一步探索交流
Mar 04 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获取地址栏信息的代码
2008/10/08 PHP
php导出excel格式数据问题
2014/03/11 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
php图像处理类实例
2015/07/28 PHP
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
在vue.js中抽出公共代码的方法示例
2017/06/08 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
浅析vue中的nextTick
2020/12/28 Vue.js
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
理解python正则表达式
2016/01/15 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
我看到了用指针调用函数的不同语法形式
2014/07/16 面试题
J2EE模式面试题
2016/10/11 面试题
大专应届生个人的自我评价
2013/11/21 职场文书
旅游专业职业生涯规划范文
2014/01/13 职场文书
团队精神口号
2014/06/06 职场文书
大学生求职信
2014/06/17 职场文书
文艺委员竞选稿
2015/11/19 职场文书