Давайте сначала упростим вашу функцию, чтобы вы могли ее запустить и сравнить результаты:
def get_links(url):
url = "this returns link: {}".format(url)
get_info(url) #why this one
return get_info(url) #or why this
def get_info(link):
print(link)
get_links('google.com')
>>this returns link: google.com
>>this returns link: google.com
Ваша функция теперь возвращает print
дважды.Во-первых, когда вы вызывали функцию, а во-вторых, когда вы возвращали функцию, и в этом случае фактически возвращает None
, потому что get_info
ничего не возвращает.
Это очевидно здесь:
url = get_links('google.com')
>>this returns link: google.com
>>this returns link: google.com
url
>> *nothing happens*
Результаты return более очевидны, если он действительно что-то делает, например:
def get_links(url):
url = "this returns link: {}".format(url)
return get_info(url)
def get_info(link):
return "get_info does something, {}".format(link)
url = get_links('google.com')
url
>>'get_info does something, this returns link: google.com'
Если вы не используете return, это просто означает, что функция не будет ничего возвращать, что происходит, например, еслиВы просто хотите print
результаты, как вы сделали.В дальнейшем вы можете попробовать это, назначив имя, как я делал выше, функции, которая не имеет возврата, и результат по существу будет None
.