Return python 中 *args 的多个值

Return multiple values from *args in python

我已经看过 this and this and this,但我仍然感到困惑和不确定 where/how 使用生成器/yield 和 splat/*

用例:在进一步操作输入之前对其进行清理。

def sanitize_inputs(*args):
    for arg in args:
        if arg == '':
            yield None
        else:
            yield arg

"{}|{}".format(sanitize_inputs('abc',''))

理想情况下,sanitize_inputs 应该 return 一个扩展列表,这样字符串替换才会起作用。

好吧...在处于草稿状态之后,想通了,感谢this

In: "{}|{}".format(*sanitize_inputs('abc',''))
Out: 'abc|None'