Как заметил комментатор, возвращать разные типы переменных - это плохой стиль. Довольно просто всегда возвращать логическое значение, например:
def limit_reached():
rate_limit = api.GetRateLimitStatus()
return rate_limit['remaining_hits'] == 0
rate_limit['remaining_hits'] == 0
- это полный оператор, который вернет значение «истина» или «ложь», результат которого вы можете вернуть из своей функции. Обратите внимание, что вам нужно использовать два знака равенства.
Если вам нужно само целочисленное значение, вы всегда можете вернуть его вместо этого и проверить условие в другом коде, например:
def limit_reached():
rate_limit = api.GetRateLimitStatus()
return rate_limit['remaining_hits']
if limit_reached() == 0:
print "Limit reached. Exiting"
exit()
else:
##Print remaining hits
##Continue...
Или вы можете воспользоваться тем, что все числа (целые, с плавающей точкой, двойные, неважно) с точным значением 0
обрабатываются как false
(другие константы рассматриваются как false
включают []
, ()
, ''
или '{}' - см. здесь ).
if limit_reached():
##Print remaining hits
##Continue...
else:
print "Limit reached. Exiting"
exit()
Обратите внимание, что в этом случае пункты были изменены на противоположные.