我有一個返回兩種不同類型的(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