我最近才发现有一种叫做函数注释的东西,但我不太确定如何使用它。到目前为止,我得到的是:def check_type(f):

def decorated(*args, **kwargs):

counter=0

for arg, type in zip(args, f.__annotations__.items()):

if not isinstance(arg, type[1]):

msg = 'Not the valid type'

raise ValueError(msg)

counter+=1

return f(*args, **kwargs)

return decorated

@check_type

def foo(a: int, b: list, c: str): #a must be int, b must be list, c must be str

print(a,b,c)

foo(12, [1,2], '12') #This works

foo(12, 12, 12) #This raises a value error just as I wanted to

foo(a=12, b=12, c=12) #But this works too:(

如您所见,我尝试使用注释和修饰符检查a、b和{}的类型,如果不是正确的类型,则会引发{}。当我在调用时不使用关键字参数时,它工作得很好。但是如果我使用关键字参数,类型就不会被检查。我想让它成功,但我没有运气。在

我的代码不支持关键字参数。因为我没有任何东西能证明这一点。我也不知道怎么检查。这就是我需要帮助的地方。在

我也是这样做的:

^{pr2}$

python获取调用函数的注释,如何使用函数注释验证函数调用类型相关推荐

  1. python获取字符串首字母_Python中用startswith()函数判断字符串开头的教程

    Python中用startswith()函数判断字符串开头的教程 函数:startswith() 作用:判断字符串是否以指定字符或子字符串开头 一.函数说明语法:string.startswith(s ...

  2. python 获取系统相关编码的函数

    怎么避免UnicodeEncodeError: 'ascii' codec can't-类似的错误? 1.首先在py文件头部指定文件内容编码,例如:# coding: utf8 2.文件保存的时候要和 ...

  3. Python 获取网站证书有效期

    Python获取网站证书有效期 Python获取网站证书有效期 python:OpenSSL和ssl python+shell:subprocess和curl Python获取网站证书有效期 由于某些 ...

  4. python获取代码当前行数_Python实验室一段日志代码,获取当前调用的函数名和行号...

    代码如下: #............. class CrawlerLog(object): def __init__(self, logName=None): #............ self. ...

  5. python如何调用cpp文件的接口函数_C++中嵌入Python调用

    python嵌入到C++中 把python嵌入的C++里面需要做一些步骤 安装python程序,这样才能使用python的头文件和库 在我们写的源文件中增加"Python.h"头文 ...

  6. python调用php命令行,python调用php函数 python怎样调用php文件中的函数详解

    前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1. ...

  7. python怎么调用函数的返回值类型,10、Python基础之函数的调用与返回值

    一.函数参数 1.1 不定长参数 当我们定义函数时,可能需要定义一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数. 我们可以在形参前面加上一个 * ,这样这个形参就可以获取所有的实参,它将 ...

  8. python 实例方法调用时可以忽略第一个参数_盘点Python中易忽略的函数

    Python 内置函数 1.ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数, ...

  9. python getattr调用自己模块_在Python中通过getattr获取对象引用的方法

    getattr函数 (1)使用 getattr 函数,可以得到一个直到运行时才知道名称的函数的引用. >>> li = ["Larry", "Curly ...

最新文章

  1. 网络编程应用:基于TCP协议【实现文件上传】--练习
  2. 狂神说mysql笔记_Mybatis学习笔记(狂神说)
  3. ArrayList方法源码
  4. 3月任务--target
  5. 让媒体播放控件,播放媒体 0201
  6. springcloud微服务系列之服务注册与发现组件Eureka
  7. Bailian2914 计算概论习题-动态存储【排序】
  8. php7会不会出问题,升级到PHP7后会话不工作
  9. Journaling日志功能
  10. 窗口设置的一般操作方法
  11. 百度地图离线调用(详细教程)
  12. 华为USG6000V防火墙简单配置案例
  13. 视频教程-HTML零基础经典入门视频-HTML5/CSS
  14. FTP,SFTP,FTPS,TF区别
  15. 奉子成婚,永远不可能成为潮流
  16. SDHC 存储卡会导致刷机模式不被识别
  17. 一个屌丝程序员的青春(二二三)
  18. 树莓派触摸屏翻转显示以及触摸翻转
  19. IA32 gnu assembly 32 bit instruction pretend to be 64 bit instruction
  20. 开放机器人控制软件Orocos

热门文章

  1. 《财富》世界500强想到的
  2. 这是一段有毒的js代码,求大神解释!!!
  3. 卷积神经网络之ResNet网络模型学习
  4. java中Long的比较
  5. ubuntu在VMware虚拟机安装了后桌面显示问题
  6. Linux core dumps 的生成
  7. 第十三讲 ASP.NET中的错误处理和程序优化
  8. MapReduce单机提交(待稿)
  9. 微软CRM记录列表每页显示超过250个记录解决办法
  10. Linux打包压缩.md