ruo*_*ola 3 python keyword-argument python-3.x
我有一个函数,它有这样的签名:
def func(**kwargs):
Run Code Online (Sandbox Code Playgroud)
该函数的用户将使用零个或一个关键字参数调用该函数。如果他通过一个参数,该名称将是foo_id,bar_id,baz_id等,但我不知道他会用的确切名称。传递的参数的值将是一些整数。我仍然想获取该参数的值并使用它。
目前我正在这样做,但我想知道是否有更清洁的方法来实现这一目标:
def func(**kwargs):
if kwargs:
target_id = list(kwargs.values())[0]
else:
target_id = None
# use target_id here, no worries if it's None
Run Code Online (Sandbox Code Playgroud)
我使用的是 Python 3.8,所以向后兼容性不是问题。
我们到了
def func(**kwargs):
target_id = next(iter(kwargs.values()), None)
print(target_id)
func(name_id='name')
func(value_id='value')
func(test_id='test')
func()
Run Code Online (Sandbox Code Playgroud)
输出
python test.py
name
value
test
None
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |