在Python中,我们可以使用inspect
模块来检查函数参数是否设置了默认值。以下是使用inspect
模块的方法:
import inspect
def foo(a, b=10, c="hello"):
pass
signature = inspect.signature(foo) # 获取函数的参数签名
parameters = signature.parameters # 获取函数的参数列表
for name, param in parameters.items():
if param.default is not inspect.Parameter.empty: # 检查参数是否设置了默认值
print(f"参数 {name} 设置了默认值 {param.default}")
else:
print(f"参数 {name} 没有设置默认值")
上述代码中,我们定义了一个名为foo
的函数,其中a
是一个必需的参数,而b
和c
分别设置了默认值。通过inspect.signature
函数获取函数的参数签名,然后遍历参数列表,通过检查param.default
是否等于inspect.Parameter.empty
来判断参数是否设置了默认值。
运行上述代码将输出:
参数 a 没有设置默认值
参数 b 设置了默认值 10
参数 c 设置了默认值 hello
这样,我们可以通过使用inspect
模块来检查Python函数是否设置了默认值。对于没有设置默认值的参数,可以在函数调用时传入相应的值;而对于设置了默认值的参数,则可以不传入任何值,函数将使用默认值进行处理。
关于inspect
模块的更多信息和用法,请参考腾讯云文档中的inspect模块介绍。
领取专属 10元无门槛券
手把手带您无忧上云