Python では、それ自体が呼び出された場合に結果をコンソールにきれいに出力する関数を書きたいと思います (ほとんどの場合、対話型またはデバッグ用)。この質問の目的のために、何かのステータスをチェックするとしましょう。私がちょうど呼び出す場合
check_status()
私は次のようなものを見たいです:
Pretty printer status check 0.02v
NOTE: This is so totally not written for giant robots
=================================
System operational: ... ok
Time to ion canon charge is 9m 21s
Booster rocket in AFTERBURNER state
Range check is optimal
Rocket fuel is 10h 19m 40s to depletion
Beer served is type WICKSE LAGER, chill optimal
Suggested catchphrase is 01_FIGHTING_SPIRIT_GOGOGO
Virtual ... on
ただし、変数割り当てのコンテキストで呼び出す場合は、出力をリストとして渡すことも必要です。
not_robot_stat = check_status()
print not_robot_stat
>>> {'cond_op': 1, 't_canoncharge': 1342, 'stage_booster': 5, 'range_est_sigma': 0.023, 'fuel_est': 32557154, 'beer_type': 31007, 'beer_temp': 2, 'catchphrase_suggestion': 1023, 'virtual_on': 'hell yes'}
それで...関数内で、その出力が割り当てられているかどうかを動的に知る方法はありますか? パラメータの受け渡しに頼ったり、専用の別の関数を作成したりせずに、これを実行できるようにしたいと考えています。私は少しグーグルで調べましたが、バイトコードで遊ぶことに頼らなければならないように見えることはほとんどありません。それは本当に必要ですか?