文章目录

前言

IDE配置

标记Deprecated示例

前言

在python中,如果你有函数或者类当下没有作用,或者即将废弃,但是你又不想删除,那么你可以标记为deprecated。其实我更想做的是什么?能够让我标记的函数或者类在其它地方使用的时候,能有直观的提示。用Idea做java开发的童鞋肯定很清楚,java代码中的类或者函数只要标记了@Deprecated注解,在所有使用它的地方都会有删除线很直观的标记出来。

那么,PyCharm或者Idea使用Python插件是否也有对Python进行deprecated检测并提示的能力呢?

有!

IDE配置

PyCharm和Idea非常的智能,能识别Python的函数或类是否被标记为deprecated,并展示删除线。

preferences->Editor-inspections,搜索框中输入Deprecated,在Python那类中看是否有勾选住,默认应该是勾选的。

咱们看描述:

This inspection highlights usages of Python functions, classes or methods which are marked as deprecated (which raise a DeprecationWarning or a PendingDeprecationWarning).

意思是说:检查python的函数、类、或者类函数是否标记了deprecated(抛出DeprecationWarning或者PendingDeprecationWarning警告),如果标记了会高亮(实际是删除线)。

标记Deprecated示例

import warnings

def some_old_function(x, y):

# 这行告警代码被识别到

warnings.warn("some_old_function is deprecated", DeprecationWarning)

return x + y

some_old_function(12, 34)

关键是warnings.warn("some_old_function is deprecated", DeprecationWarning)这行代码被PyCharm识别到了。

注意,上面只是让IDE能达到识别废弃并使用删除线提示而已。

如果想要生成doc帮助文档的话,可以安装Deprecated模块结合使用。

pip install Deprecated

安装之后像下面这样使用即可:

import warnings

from deprecated.sphinx import deprecated

warnings.filterwarnings("always")

@deprecated(version='1.0', reason="This function will be removed soon")

def some_old_function(x, y):

warnings.warn("some_old_function is deprecated", DeprecationWarning)

return x + y

if __name__ == '__main__':

some_old_function(12, 34)

help(some_old_function)

执行之后的结果如下:

@deprecated注解会更改函数的__doc__属性,可以看到帮助文档被打印了出来。如果想要打印出告警信息的话,需要在前面加上warnings.filterwarnings("always")

这样就能看到打印出来的告警信息了。

java 标注 废弃,Python标记函数或类为废弃(deprecated)并在Pychram或Idea中检测提示删除线...相关推荐

  1. Java编号姓名元宝数密码,通过my Eclipse控制台向数据库(SQL2008)中查找、删除、插入信息...

    通过my Eclipse控制台向数据库(SQL2008)中查找.删除.插入信息如果编译程序有什么错误还望大家多多指正代码执行所需数据库.架包及java源文件已上传至文件 文件名 SQl_JDBC.zi ...

  2. python里面的类和对象_Python中类和对象在内存中是如何保存?

    类以及类中的方法在内存中只有一份,而根据类创建的每一个对象都在内存中需要存一份,大致如下图: 如上图所示,根据类创建对象时,对象中除了封装 name 和 age 的值之外,还会保存一个类对象指针,该值 ...

  3. java测试时找不到类,我在class文件运行不了测试文件,提示找junit4找不到任何的测试项目...

    代码如下(http://ask.testfan.cn/article/926   使用java编写appium测试用例(安卓app)按照沙漠大神这篇demo参照的写的案例 ) package zhif ...

  4. python 如何删除excel中带有删除线的特定字符串保留没有删除线的单词

    python 如何删除excel中带有删除线的特定字符串保留没有删除线的单词 注意:经验证 Mac必须安装Microsoft Excel app 但不一定OK import xlwings as xw ...

  5. python单例类命名_单例模式(java/python/c++)

    序 最近接触到新项目,后端基于java开发.对于有c++/python开发经验,无java经验的小梅同学,开始了漫漫学习之旅,第一篇学习记录,从最简单的单例模式开始吧. 众所周知,单例模式的最明显的几 ...

  6. java运行python脚本_java中执行python脚本工具类详解

    java中执行python脚本工具类,需要jython.jar import java.io.FileInputStream; import java.io.IOException; import j ...

  7. Java变成笔记4:复用类

    Java变成笔记4:复用类 图源:Java Switch语句(用法详解)-java教程-PHP中文网 类是OOP编程中的代码组织单元,无论是OOP的类还是面向过程的函数,其目的都是为了实现代码复用. ...

  8. java虚拟机学习(四)类的加载过程

    2019独角兽企业重金招聘Python工程师标准>>> 类从虚拟机内存加载到从内存卸载,经历的生命周期是:加载,验证,准备,解析,初始化,使用,卸载这几个阶段, 其中验证,解析,初始 ...

  9. java好还是python好-Python和Java哪个薪资更高、远景更好?

    运用Python的人越来越多,为啥?人工智能浪潮的兴起与TensorFlow以及爬虫结构的普及让Python有了用武之地:大数据与云计算解决方案的运用也为Python的成功猛推了一把.作为数据科学最盛 ...

最新文章

  1. (转)有了jQuery.Jcrop,选取美女的哪个部位你说了算
  2. 关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)...
  3. Java基础——左移和右移
  4. PHP - 解决中文乱码问题
  5. android分辨率hdpi,Android资源 - 哪些分辨率应该进入hdpi,ldpi,mdpi和xhdpi目录
  6. 深度好文:2018 年 NLP 应用和商业化调查报告
  7. android天气预报----google开源天气API,SAX解析
  8. fedora下编译运行java傻瓜入门级教程
  9. 雅礼中学第四场20180109
  10. 一段时间即可做一些事情,如二十分钟
  11. c语言代码出来在哪里运行,C语言代码,怎么运行。
  12. piwik阅读(整体结构)
  13. Sequence Modeling With CTC : Labelling Unsegmented Sequence Data with RNN
  14. oracle kup04040,ORA-20011 ORA-29913 and ORA-29400错误的说明
  15. 网络投票的另一面:“刷票”与“防刷” 大PK
  16. 关于实施《政府会计制度》的衔接
  17. vue中的created方法
  18. Scratch与物理·天文:模拟中国嫦娥探月工程,探索月球的背面!
  19. 2022年成都粘胶纤维产业申报条件、材料、流程
  20. 爬虫与反爬的常见套路

热门文章

  1. 1688平台商品详情接口采集方法
  2. Java实现提示音,亲测有效
  3. windows下同步方案-cwRsync
  4. go-micro教程 — 第二章 go-micro v3 使用Gin、Etcd
  5. 多智能体强化学习(三)单智能体强化学习
  6. 图形化开放式生信分析系统开发- 1基本需求分析及技术实现
  7. 5G行业专网赋能!《5G垂直行业专网设计及部署白皮书》正式发布!
  8. 学生选课系统项目介绍及需求
  9. Apollo代码学习(五)—横纵向控制
  10. signature=b82cbfee4ef06278e49b74f8c0c0e8a0,FgfdhG0G4b58BB0Y