函数注解(Function Annotations)——> 可以在定义函数的时候对参数和返回值添加注解

写函数注解

#平时我们使用help()可以查看一个函数的说明,我们自己写的函数也可以提供这样的说明

#第一种方式:直接在函数内 '''写文本'''

def add(x,y):
'''x+y
@:param x int
@:param y int
@return int
'''
return x+y #print(help(add))
Help on function add in module __main__:
add(x, y)
x+y
@:param x int
@:param y int
@return int
(END) # 第二种方式:更常用,是python中的函数注解语法
# 参数:类型参数:"说明文本" -> 返回值类型

def add(x:int,y:"It's a int") ->int:
return x+y()
print(help(add))
Help on function add in module __main__:
add(x:int, y:"It's a int") -> int
(END)

查看函数注解

function.__annotations__

# function.__annotations__
print(sum.__annotations__)
#{'return': <class 'int'>, 'lst': typing.List<~T>[int]}

inspect.signature

# inspect.signature
import inspect # 获取函数注解
sig=inspect.signature(add)
print(sig)
#(x:int, y:"It's a int") -> int # 获取函数参数(其输出是个有序字典)
print(sig.parameters)
#OrderedDict([('x', <Parameter "x:int">), ('y', <Parameter "y:"It's a int"">)]) ## 获取指定参数注解 ##
# 法1:
print(sig.parameters['x'])
#x:int
# 法2:
print(sig.parameters['x'].annotation) #即利用parameters输出的有序字典来访问
#<class 'int'> ## 获取返回值注解 ##
print(sig.return_annotation)
#<class 'int'> print(sig.parameters.values())
#odict_values([<Parameter "x:int">, <Parameter "y:int">])

最新文章

  1. MacOS下Express安装过程中遇到的问题
  2. Database 'xxxx' is being recovered. Waiting until recovery is finished.
  3. Centos minimal安装
  4. Wix 安装部署教程(十六) -- 自动生成多语言文件
  5. Scala命令设置JVM参数的规则
  6. Redis常用的30个命令
  7. Windows Azure Compute Emulator无法启动问题解决方案
  8. 《Node.js+MongoDB+AngularJS Web开发》读书笔记及联想
  9. mysql登录和连接 权限
  10. Java设计模式-建造者模式(Builder)
  11. HTTP方法简介
  12. C# 委托简单使用方法
  13. S3C2410 ADS实验手册
  14. Yii framework 应用总结小窍门(转)
  15. [Oracle] - 性能优化工具(1) - AWR
  16. Java经典封装JDBC模板(充分体现面向对象思想)(转)
  17. IOS 开发 【objective-c 基础1】
  18. 替换 window.location当中的某个参数的值(而其它值不变)JS代码
  19. Hibernate:如何映射聚合?
  20. 安装appuim

热门文章

  1. [Erlang27]如何监控指定目录下的*.beam文件,如果有改动就更新到指定的节点?
  2. Ubuntu 16.04.2 LTS 安装 jdk1.6 和 tomcat6 (二)
  3. echarts重绘
  4. JSON is undefined. Infopath Form People Picker in SharePoint 2013
  5. 大咖分享 | 一文解锁首届云创大会干货——下篇(文末附演讲ppt文件免费下载)
  6. 开源NFV管理器 - OpenStack Tacker介绍 NFV和Tacker介绍和主要功能
  7. jquery改造轮播图1
  8. 超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群
  9. Vulnhub Billu_b0x
  10. Elastic Search 5.x Nest Multiple Queries C#