在 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'}
那么......有没有办法在一个函数中动态地知道它的输出是否被分配?我希望能够在不使用参数传递或为此编写另一个专用函数的情况下做到这一点。我已经用谷歌搜索了一段时间,从我所能知道的一点点看来,我不得不求助于使用字节码。这真的有必要吗?