我有一个返回两种不同类型的(bool
和int
)功能:不同的返回类型在Python
def limit_reached():
rate_limit = api.GetRateLimitStatus()
if not rate_limit['remaining_hits'] == 0:
return False
else:
return rate_limit['remaining_hits']
基本上,我希望能够调用的函数,看看是否“限制”限制了已达到。如果没有,在继续之前,打印剩下多少个'remaining_hits'
。
到目前为止,我有这个,但无法弄清楚如何有效地显示'remaining_hits'
不会再次调用该函数GetRateLimitStatus()
:
if limit_reached():
print "Limit reached. Exiting"
exit()
else:
##Print remaining hits
##Continue...
另外,如果有帮助,我使用的是Twitter API for Python
你确实意识到不同的返回类型是史诗般的坏设计。另外,你的逻辑'rate_limit ['remaining_hits']!= 0:return False''表示你要么返回False或'0',这看起来不正确。请返回一种类型,并在特殊情况下使用例外。 – 2012-01-12 21:34:52
另外,第二个片段中的“if”也是错误的。 – 2012-01-12 21:36:45