当前位置: 首页 > news >正文

python第三方库代码提示_解决pycharm不能自动补全第三方库的函数和属性问题

因为python是动态语言,变量类型是可变的,所以不管pycharm还是sublime都做不到准确的类型推断。

一个比较取巧的做法是assert

assert isinstance(a, A_type)

a. # 可以补全

补充知识: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不能自动补全第三方库的函数和属性问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

相关文章:

  • 运行catia_分享几个没用的CATIA技巧
  • python实参名在哪_参数?变量?形参?实参?在 Python 眼里那都不是事。
  • mysql 事务锁分类_mysql的锁之锁分类
  • mysql5.7.17的数据库_数据库mysql-5.7.17的安装详解
  • mysql实现for xml_灵活运用 SQL SERVER FOR XML PATH
  • sql大小写 效率_从零开始学SQL:是什么、如何安装、基本语法、表格(创建、删除、更新)、数据(插入、删除、更新)...
  • mysql com.mysql.cj_com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别
  • kill -HUP重启mysql_kill的用法
  • mysql redolog 详解_MySQL系列之redo log、undo log和binlog详解
  • mysql xtrabakup 异机恢复_XtraBackup备份恢复mysql
  • mysql逻辑模型_数据库逻辑模型设计.ppt
  • win7mysql安装未响应_求助啊 WIN7下安装mysql出问题 老是说未响应~!!
  • sql2008能否打开mysql数据库_将MySQL数据库转移到SqlServer2008数据库
  • 从源码安装mysql_从源码安装MySQL
  • wp mysql替换内容_WordPress查找和替换数据库内容插件:Better Search Replace
  • IndexedDB
  • Java IO学习笔记一
  • java2019面试题北京
  • JavaScript对象详解
  • Js基础——数据类型之Null和Undefined
  • tensorflow学习笔记3——MNIST应用篇
  • vuex 学习笔记 01
  • 大整数乘法-表格法
  • 高程读书笔记 第六章 面向对象程序设计
  • 聊聊flink的BlobWriter
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 想使用 MongoDB ,你应该了解这8个方面!
  • ()、[]、{}、(())、[[]]命令替换
  • (2)STM32单片机上位机
  • (c语言)strcpy函数用法
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (补)B+树一些思想
  • (接口封装)
  • (六)c52学习之旅-独立按键
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .net下的富文本编辑器FCKeditor的配置方法
  • .Net语言中的StringBuilder:入门到精通
  • /etc/sudoer文件配置简析
  • ?php echo ?,?php echo Hello world!;?
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • [Android]创建TabBar
  • [C# 开发技巧]实现属于自己的截图工具
  • [dts]Device Tree机制
  • [HackMyVM]靶场Boxing
  • [hive] 窗口函数 ROW_NUMBER()
  • [JavaWeb学习] tomcat简介、安装及项目部署
  • [linux]linux命令学习-netstat
  • [Lucas定理]【学习笔记】