Итак, я немного поработал с модулем pygal.maps.world, и у меня возник вопрос, касающийся операторов Return none за else и вообще не использовал else.
Например:
from pygal.maps.world import COUNTRIES
def get_country_code(country_name):
for code, name in COUNTRIES.items():
if name == country_name:
return code
else:
return None
print(get_country_code('United Arab Emirates'))
Это напечатает Нет, но если я сделаю следующее:
from pygal.maps.world import COUNTRIES
def get_country_code(country_name):
for code, name in COUNTRIES.items():
if name == country_name:
return code
return None
print(get_country_code('United Arab Emirates'))
Распечатает правильный код страны, может кто-нибудь объяснить, почему?Разве код не должен действовать одинаково независимо от оператора else или нет?
Еще одна вещь, которую я обнаружил, была при запуске первого блока кода и попытке получить код страны Андорры, мне действительно удалось получитьправильный код страны, любая другая страна не работает.Что здесь происходит?
Редактировать: - Спасибо за ответы, знал, что это было довольно очевидно, должен был подумать об этом немного больше.