首页 > 编程语言 >How to check function arguments type in Python All In One

How to check function arguments type in Python All In One

时间:2023-06-02 20:12:49浏览次数:39  
标签:function Python arg1 arg2 arg3 How error print type

How to check function arguments type in Python All In One

Python & argument type check

bug ❌

arguments type checker

#!/usr/bin/env python3
# coding: utf8

# arguments type checker ✅
def func(arg1: int, arg2: bool, arg3: str):
  # arg1
  if isinstance(arg1, int):
    print("✅ arg1 =", arg1)
  else:
    print("type error ❌, arg1 =", arg1)
  # arg2
  if isinstance(arg2, bool):
    print("✅ arg2 =", arg2)
  else:
    print("type error ❌, arg2 =", arg2)
  # arg3
  if isinstance(arg3, str):
    print("✅ arg3 =", arg3)
  else:
    print("type error ❌, arg3 =", arg3)
  print("\n")

if __name__ == "__main__":
  func(255, False, "OK")
  func(False, 255, "Error")


"""
$ py3 ./order-error-args.py
"""
$ py3 ./order-error-args.py
✅ arg1 = 255
✅ arg2 = False
✅ arg3 = OK

✅ arg1 = False
type error ❌, arg2 = 255
✅ arg3 = Error

image

bool is instanceof int ???

False/True => 0/1

solution

#!/usr/bin/env python3
# coding: utf8

# arguments type checker ✅
def func(arg1: int, arg2: bool, arg3: str):
  # arg1
  if isinstance(arg1, int) and not isinstance(arg1, bool):
    print("✅ arg1 =", arg1)
  else:
    print("type error ❌, arg1 =", arg1)
  # arg2
  if isinstance(arg2, bool):
    print("✅ arg2 =", arg2)
  else:
    print("type error ❌, arg2 =", arg2)
  # arg3
  if isinstance(arg3, str):
    print("✅ arg3 =", arg3)
  else:
    print("type error ❌, arg3 =", arg3)
  print("\n")

if __name__ == "__main__":
  func(255, False, "OK")
  func(False, 255, "Error")


"""
$ py3 ./order-error-args.py
"""
$ py3 ./order-error-args.py
✅ arg1 = 255
✅ arg2 = False
✅ arg3 = OK

type error ❌, arg1 = False
type error ❌, arg2 = 255
✅ arg3 = Error

image

demos

image

(

标签:function,Python,arg1,arg2,arg3,How,error,print,type
From: https://www.cnblogs.com/xgqfrms/p/17452808.html

相关文章

  • [How To] Open Dos Prompt Command Here in Windows 7, and more
    Ifyoulikethepowertoy“OpenCommandPromptHere”inWindowsXP,youwillprettymuchlovethenewcontextmenu“OpenCommandWindowhere”inWindows7.Readon,moretipsatthebottom.Whatisit?It’saright-clickcontextmenuthatopensacommandp......
  • python 仅关键字参数
    defstandard_arg(arg)defstandard_arg(arg):print(arg)standard_arg(2)standard_arg(arg=2)对参数没有限制defstandard_arg(arg,/)defstandard_arg(arg,/):print(arg)standard_arg(2)#正确standard_arg(arg=2)#报错仅限位置参数def stand......
  • 软件测试|超好用超简单的Python GUI库——tkinter(十四)
    前言我们知道我们可以使用pillow绘制不同形状的图形,但是我们能不能使用tkinter实现这个功能呢,当然可以,tkinter也可以实现图形的绘制,并且可以将绘制的图形添加到我们的GUI中。我们可以通过tkinter的画布控件Canvas来实现绘制功能。Canvas画布控件Canvas控件具有两个功能,首先它可以......
  • 简单python界面设计(tkinter库)
    简单python界面设计(tkinter库)做这个界面初衷是为舵机做一个控制界面,这个文件被遗弃在角落里,今天刚发现,所以就简单介绍主界面以及我对tkinter库的学习是参考的上面这个链接的(感谢......
  • 软件测试|超好用超简单的Python GUI库——tkinter(十五)
    前言上一篇文章我们介绍了tkinter的Canvas画布控件,并且使用画布控件绘制了线条,本篇文章我们将介绍使用Canvas绘制更多图形。参数介绍属性说明activedash当画布对象状态为"active"的时候,绘制虚线activefill当画布对象状态为"active"的时候,填充颜色activestipple当画布对象状态为......
  • python mitmproxy抓包库
    一.简介mitmproxy是一款用Python编写的支持HTTP(S)的中间人代理工具。它可以拦截、查看、修改、重放和保存HTTP/HTTPS流量,支持命令行界面和图形界面,可用于安全测试、网络调试、API开发和反向工程等场景。mitmproxy具有很高的灵活性和扩展性,可以通过插件机制进行定制化开发和功能......
  • 使用Python爬虫爬取网络美女图片
    准备工作安装python3.6略安装requests库(用于请求静态页面)pipinstallrequests-ihttps://mirrors.ustc.edu.cn/pypi/web/simple安装lxml库(用于解析html文件)pipinstalllxml-ihttps://mirrors.ustc.edu.cn/pypi/web/simple安装与配置selenium(用于请求动态页面)pipinstall......
  • Python单元测试:一步步了解测试框架、测试用例和覆盖率分析
    在软件开发中,单元测试是一个非常重要的环节。它可以确保你的代码能够正常运行,并且在将来的修改中不会出现问题。在Python中,单元测试是非常容易实现的。本文将介绍Python单元测试的所有知识点,包括测试框架,测试用例,测试装置,测试套件和覆盖率分析。一、测试框架Python中最常用的测......
  • 如何将python运用于实践
    看过很多本Python教程,敲过很多python例子代码,试过很多个python项目但是心中还是很堵,没有畅通的感觉就像一个闯入丛林深处的初级猎人不知道哪里有猎物,有什么猎物,猎物有什么习性,如何有效布置陷阱,需要带多少食物方向如何确定,如何应对蚊虫叮咬,如何应对毒蛇。。。一点都不懂,一窍都......
  • 【python基础】复杂数据类型-列表类型(数值列表)
    1.数值列表列表非常适合用于存储数字集合,而python提供了很多工具,可帮助我们高速地处理数字列表。1.1range函数python的range函数能够轻松的生成连续一系列数字。其语法格式:range(第一个数值,第二个数值)编写程序如下所示运行结果如下所示我们通过运行结果可以看出,生成的......