解决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 相关文章推荐
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
python使用marshal模块序列化实例
Sep 25 Python
python快速查找算法应用实例
Sep 26 Python
Python中的hypot()方法使用简介
May 18 Python
Python3遍历目录树实现方法
May 22 Python
举例讲解Python设计模式编程中的访问者与观察者模式
Jan 26 Python
Python实现字符串反转的常用方法分析【4种方法】
Sep 30 Python
python使用多进程的实例详解
Sep 19 Python
django 配置阿里云OSS存储media文件的例子
Aug 20 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
如何在Python 游戏中模拟引力
Mar 27 Python
Django框架模板用法详解
Jun 10 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作的文本留言本的例子(三)
2006/10/09 PHP
谈谈新手如何学习PHP
2006/12/23 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
2018/08/19 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
div层的移动及性能优化
2010/11/16 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
vue axios登录请求拦截器
2018/04/02 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
JavaScript对象的浅拷贝与深拷贝实例分析
2018/07/25 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
Python 文件管理实例详解
2015/11/10 Python
Python实例一个类背后发生了什么
2016/02/09 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
利用Python开发实现简单的记事本
2016/11/15 Python
详解python中init方法和随机数方法
2019/03/13 Python
如何通过python实现人脸识别验证
2020/01/17 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
Python3 获取文件属性的方式(时间、大小等)
2020/03/12 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
机电工程学生自荐信范文
2013/12/07 职场文书
保健品市场营销方案
2014/03/31 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
幼儿园教师师德师风承诺书
2015/04/28 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android