Допустим, у меня есть следующий код
def vc_count(word, low, high):
if low > high:
return 0, 0
v, c = vc_count(word, low+1, high)
if word[low] in "aeiouAEIOU":
return v+1, c
else:
return v, c+1
def vc_count(word, low, high):
if low > high:
return 0, 0
v, c = vc_count(word, low+1, high)
vowels = "aeiouAEIOU"
if word[low] in vowels:
return v+1, c
else:
return v, c+1
Во второй версии создается строковый объект с именем 'vowels', а в первой я просто написал "aeiouAEIOU".
Будет ли разница между временем выполнения или разницей в использовании пространства между этими двумя?
Кроме того, появится ли временная переменная в стеке вызовов для первой версии? Если нет, python просто сбрасывает его после завершения операции?