作为开发人员,我们已经习惯了IDE的智能提示,针对PyCharm无代码提示整理下解决方案。
PyCharm无代码提示大概可以归为3类
Python内置语法无智能提示
通过pip安装的第三方库,导入后代码无提示
第三方库函数代码无提示 其中问题最多的可能就是这种
下面咱们就针对这3类问题说下解决方案
环境:Mac、PyCharm 2022.3.3 、Python3.11.1
1、Python内置语法无智能提示
复现:准备导入包“输入i”无只能提示
解决:File->Power Save Mode 取消勾选
解决后效果:
2、通过pip安装的第三方库,导入后代码无提示
这种是因为安装的第三方库没有加入到当前环境中,解决办法:PyCharm->References->Project:python->Python Interpreter
3、第三方库函数代码无提示(重要)
复现:我这里以urllib库读取网页内容为例,在通过response调用read()函数时无提示。
代码:
import urllib.request
url = "http://www.baidu.com/"
response = urllib.request.urlopen(url)
# 读取数据
response.
解决办法:
前提是知道变量的类型,要获取变量类型,我们可以用type()函数提前打印下类型
①、通过isinstance()函数
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
代码:
# 记得导入包
import http.client
import urllib.request
url = "http://www.baidu.com/"
response = urllib.request.urlopen(url)
# 通过isinstance() 增加智能提示
assert isinstance(response, http.client.HTTPResponse)
response.rea
②、使用类型注解
代码:
# 记得导入包
import http.client
import urllib.request
url = "http://www.baidu.com/"
# 使用类型注解
response = urllib.request.urlopen(url) # type: http.client.HTTPResponse
response.
③、通过注释指定类型
代码:
# 记得导入包
import http.client
import urllib.request
url = "http://www.baidu.com/"
response = urllib.request.urlopen(url)
"""
:type:http.client.HTTPResponse
"""
response.r
最后:虽然给出了3中解决方案,但是都需要人为增加代码,没有找到更好的方法,如果朋友们无需增加代码的方案,可以留言告知下,感谢!
版权归原作者 全栈行动派 所有, 如有侵权,请联系我们删除。