对于PyCharm某些库没有自动提示的处理

简介: 因为python是动态语言,特别是类似网络请求返回参数,在还没收到请求前都不知道参数类型,导致没法用自动提示

前言

因为python是动态语言,特别是类似网络请求返回参数,在还没收到请求前都不知道参数类型,导致没法用自动提示,如图:



resp没法提示.decode()之类的 pycharm帮助文档有提供类型定义,方便我们自动智能提示

解决方案

1. 指定函数的参数类型:


如果为以下则指定param为str类型:

def f(param: str):

如果为以下则指定param为str类型,但可以不传入参数(就是可以为f()):

def f(param: str = None):

如果为以下则指定param为str类型和Bool类型:

def f(param: Union[str, bool]):

如果为以下则可选param为str类型:

def f(param: Optional[str] = None):

2. 指定函数的返回参数类型:

但如果如下图就不行,因为Python在定义类之前不允许引用类对象:

所以可以改为:

class ToDo(Base):
    __tablename__ = 'todo'
    id = Column(Integer, primary_key=True)
    title = Column(Text)
    @classmethod
    def list(cls) -> List['ToDo']:
        return session.query(cls).order_by(cls.title)

3. 指定局部变量属性的类型:

4. 预期类型来进行判断操作:

5. python3.6以上版本可用的,转换变量:

3.6之前:

from typing import List, Optional
xs = []  # type: List[Optional[str]]

3.6之后

from typing import List, Optional
xs: List[Optional[str]] = []

注意:以上5种方法,如果光标在想注释的变量上,按快捷键⌥⏎(Alt + Enter),就能用选项选择来快捷生成

6. 运行时(调试)收集对象类型:

File | Settings | Build, Execution, Deployment | Python Debuggerfor Windows and Linux PyCharm | Preferences | Build, Execution, Deployment | Python Debugger for macOS 把Collect run-time types information for code insight 打开注意:该选项会把调试运行时间耗时加长!

并且在 File | Settings | Editor | General | Smart Keys for Windows and Linux PyCharm | Preferences | Editor | General | Smart Keys for macOS Smart Keys中,把【Insert type placeholders in the documentation comment stub】打开

那么在debug模式运行一遍的情况下,对方法调用(Alt+ Enter),选择【 Insert documentation string stub】,就能自动对注释的参数类型进行定义




目录
相关文章
|
Python
如何在pycharm中查看自己安装的库及其版本
如何在pycharm中查看自己安装的库及其版本
1710 0
如何在pycharm中查看自己安装的库及其版本
|
3月前
|
IDE 开发工具 Python
【Python】已解决:pip安装第三方模块(库)与PyCharm中不同步的问题(PyCharm添加本地python解释器)
【Python】已解决:pip安装第三方模块(库)与PyCharm中不同步的问题(PyCharm添加本地python解释器)
304 0
|
5月前
|
Python
解决Pycharm安装后无法导入库的问题
解决Pycharm导入库问题:进入Settings,选择Project的`Python Interpreter`,点击Add Interpreter。删除`.venv`文件夹内容,然后关闭并重启Pycharm以初始化新环境,现在可以正常导入库了。
103 1
解决Pycharm安装后无法导入库的问题
|
5月前
|
编译器 计算机视觉 Python
pycharm配置opencv库
pycharm配置opencv库
|
5月前
|
Python
Mac上pyCharm找不到已安装的库
Mac上pyCharm找不到已安装的库
58 0
|
10月前
|
安全 Python
Python环境配置及基础用法&Pycharm库安装与背景设置及避免Venv文件夹
Python环境配置及基础用法&Pycharm库安装与背景设置及避免Venv文件夹
141 1
|
Python
pycharm如何安装第三方的库
pycharm如何安装第三方的库
101 0
|
机器学习/深度学习 算法 计算机视觉
如何利用镜像地址在pycharm中安装OpenCV库
如何利用镜像地址在pycharm中安装OpenCV库
495 0
|
Linux 计算机视觉 Python
Windows下使用Pycharm安装python GUI库Kivy教程
Windows下使用Pycharm安装python GUI库Kivy教程
709 0
Windows下使用Pycharm安装python GUI库Kivy教程