Check the number of parameters passed in Python function
我是Python的新手,想知道是否有一种简单的方法来获取Python函数中传递的参数数量。
1 2 | a(1, 2, 3) ==>3 a(1, 2) ==>2 |
1 2 | def a(*args, **kwargs): print(len(args) + len(kwargs)) |
你可以使用locals()来做到这一点
重要的是要注意,这应该最终完成,这是您方法的第一步。 如果在方法中引入新变量,则会更改结果。 因此,请确保按照这种方式进行操作:
1 2 3 | def a(a, b, c): # make this your first statement print(len(locals())) |
如果你这样做:
1 2 3 | def a(a, b, c): z = 5 print(len(locals())) |
你最终得到4分,这对你的预期结果来说是不对的。
关于当地人的文件()
您还可以将函数的输入更改为列表,以便具有以下功能:
1 | a(your_list) |
然后知道有多少参数传递给函数,
你可以这样做:
1 | print len(your_list) |
但是,这意味着您更改了函数的输入类型,
从许多输入变量到只有一个,列表(可以有可变数量的元素)。