2017/2/6

描述

在写Java的过程中, 这两个东西非常有用( 对付null )

那么, Python世界中, 可否有类似实现 ?

检查函数的返回值 ( @NotNull 提供 )

检查函数的形参( @NotNull 提供 )

提醒对返回值进行check ( @Nullable提供 )

最厉害的使这个

public String someMethod(@NotNull String var1, @NotNull int var2, float var3)

相关代码

检查函数的返回值, python装饰器应该不难做到

def return_value_not_none(fn):

@functools.wraps(fn)

def wrapper(*arg, **kw):

return_value = fn(*args, **kw)

if return_value is None:

raise TypeError('return value can not be None')

else:

return return_value

return wrapper

@return_value_not_none

def test(a):

if a > 0:

return a

else:

return None

上下文环境

Jetbrains提供的

@NotNull

: https://blog.jetbrains.com/id…

对应的blog: https://blog.jetbrains.com/id…

对于java并不太熟悉,但是我觉得Python的装饰器是可以解决的.

def value_not_none(fn, **kwargs):

@functools.wraps(fn)

def wrapper(*arg, **kw):

for k,v in kw.items():

if kw[k] is None:

raise TypeError('%s value can not be None' % )

return_value = fn(*args, **kw)

return return_value

return wrapper

弱弱的问句 我是不是可以直接用 if return_value is None:来解决

python有null吗_Python世界中, 有Java中那种 @NotNull 吗( JetBrains提供的 ) ?相关推荐

  1. python 数据框缺失值_Python:处理数据框中的缺失值

    python 数据框缺失值 介绍 (Introduction) In the last article we went through on how to find the missing value ...

  2. python xlsx追加数据_python 实现众多excel表格中关键数据追加项目配置库台账.xlsx...

    网上已经有很多这类的文章了,今天写这个就算是对今天的写的这个脚本的一个巩固和说明吧,话说同事每个月末都要从大量的excel表格中导出一点点数据并输出到另一个表格中,所以想啊,写个脚本自动化一点吧,不然 ...

  3. python 动态变量 excel 配置_python 实现众多excel表格中关键数据追加项目配置库台账.xlsx...

    网上已经有很多这类的文章了,今天写这个就算是对今天的写的这个脚本的一个巩固和说明吧,话说同事每个月末都要从大量的excel表格中导出一点点数据并输出到另一个表格中,所以想啊,写个脚本自动化一点吧,不然 ...

  4. java执行python脚本_使用Runtime.getRuntime().exec()在java中调用python脚本

    举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本.假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用ja ...

  5. java null什么意思_浅谈java中null是什么,以及使用中要注意的事项

    1.null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,例如: Integer i=null; Float f=null; String ...

  6. java中null的使用方法_使用java中的方法避免!= null

    I want to avoid writing getView != null every time I want to use getView ? 您可以使用Null Object模式来避免在程序中 ...

  7. java中.of,java中instanceof的用法

    java 中的instanceof 是一个二元操作符(运算符)运算符,由于是字母组成,所以是Java的保留关键字,它的作用是用来判断,instanceof 左边对象是否为instanceof 右边类的 ...

  8. JAVA中parameterized,Java中与泛型相关的接口 之 ParameterizedType

    在阅读本文之前可以先阅读以下三篇,以便对Java中的泛型有一个全局的认识: 简介 ParameterizedType是Type的子接口,表示一个有参数的类型,例如Collection,Map等.但实现 ...

  9. java 中lock,java中lock获取锁的四种方法

    在java接口中会存放着许多方法,方便线程使用时的直接调用.对于lock接口大家都不陌生,我们已经初步对概念进行了理解.那么在获取锁的方法上想必还不是很清楚.下面我们就lock获取锁的四种方法分别进行 ...

最新文章

  1. 一个带有误差棒的另一个箱图
  2. HOG特征过程解释(转)
  3. 在Spring Boot中使用 @ConfigurationProperties 注解 (二十六)
  4. 【深度学习篇】--Windows 64下tensorflow-gpu安装到应用
  5. eventEmitter3源码分析与学习
  6. STM32如何从串口接收数据,取出数据中的密码段再保存到flash中。
  7. python读取二进制数据中的while循环_在Python中读取二进制文件并循环遍历每个字节...
  8. kafka 启动_深入理解Kafka服务端之Acceptor线程是如何启动和工作的
  9. 二、Java面向对象(7)_封装思想——访问修饰符
  10. html新一代网页播放器源码 未加密
  11. Vue 项目结构介绍
  12. TCP UDP IP
  13. arm 饱和指令_ARM aarch64汇编学习笔记(九):使用Neon指令(一)
  14. IA-32 System-Level Registers and Data Structures
  15. 生成对抗网络的损失函数如何设计_如何检测极小人脸?试试超分辨率
  16. 程序员面试金典——5.5整数转化
  17. 怎样快速的学习微信小程序
  18. 人脸数据库收集——深度学习
  19. 免费谷歌云服务器,极简到手指南
  20. 嵌入式 职位描述 职位要求

热门文章

  1. 插画与UI组合素材APP模板|一切简单而美好
  2. UI设计素材|视频类APP图标
  3. Python安装GDAL库的问题
  4. HTTP请求头,应答头类型相关问题
  5. 虚拟机控制数据结构 (VMCS)状态转换
  6. Linux Socket C语言网络编程:SCTP Socket
  7. Build desktop apps for Windows PCs
  8. 2019.03.17 14:58
  9. spss方差分析_交叉设计及SPSS多因素方差分析
  10. error loading python dll_Error loading Python DLL python36.dll 的解决办法 及其他pyinstaller问题...