関数があり、それが呼び出されたときに、戻り値が何に割り当てられるのか、特にタプルとしてアンパックされたときを知りたいです。そう:
a = func() # n = 1
対。
a, b, c = func() # n = 3
n
inの値を使用したいfunc
。inspect
orには、これを可能にする魔法が必要_getframe
です。何か案は?
免責事項 (これは最近必要になっているように思われるため): これはファンキーで悪い習慣であり、製品コードでは使用しないでください。それは実際、私が Perl に期待するもののように見えます。想定される「実際の」問題を解決する別の方法を探しているわけではありませんが、上記で求めたことを達成する方法に興味があります。このトリックのクールな使用法は次のとおりです。
ONE, TWO, THREE = count()
ONE, TWO, THREE, FOUR = count()
と
def count():
n = get_return_count()
if not n:
return
return range(n)