如何检查Python函数未传入*args参数?
如何检查Python函数中是否未传入*args参数?
当你定义签名为foo(*args,a:int=0, b:int=1)的函数时,如果没有传入任何位置参数,args会被初始化为一个空元组(),而不是None。你之前用if args is None:判断,自然不会触发打印逻辑——毕竟空元组和None是完全不同的对象。
正确的检查方式是直接判断args是否为空:
def foo(*args,a:int=0, b:int=1): if not args: print("No args passed")
测试验证:
- 调用
foo():会输出"No args passed" - 调用
foo(1, "test"):不会输出,此时args为(1, "test"),属于非空元组
内容的提问来源于stack exchange,提问作者Barzi2001
相关产品推荐
相关产品推荐

