В вашем случае вам не нужно использовать переменную из функции 2 - эта переменная может быть возвращена из функции.
number_of_pages = self.get_pages(doc, url)
Итак, вы можете написать что-то вроде :
def forge_url(self, year):
number_of_pages = self.get_pages(doc, url)
print('Year:', year)
for page in range(number_of_pages):
print('Page:', page)
url = 'this very big url of yours'.format(year, year+1, page)
yield url
Обратите внимание, что из вашего кода неясно, откуда должны поступать параметры doc
и url
, поэтому я просто добавил их, как если бы они были определены.