I created two methods to generate the fibonacci numbers.  The first method is much quicker than the second method.

my_functions.py

#!/usr/bin/env python3


# method 1
def fibonacci(num):
    num1 = 0
    num2 = 1
    series = 0
    for i in range(num):
        print(series)
        num1 = num2
        num2 = series
        series = num1 + num2


# method 2
def fibonacci_reg(number):
    # return 0 and 1 for first and second terms
    if number == 0:
        return 0
    elif number == 1:
        return 1
    else:
        # return the sum of two numbers
        return fibonacci_reg(number - 1) + fibonacci_reg(number - 2)

fib.py

#!/usr/bin/env python3

from my_functions import *
from timeit import default_timer as timer


def main():
# method 1
num = 35

start1 = timer()
fibonacci(num)
end1 = timer()
final1 = end1 - start1
print('first method', final1, 'seconds')
print('')

# method 2
# read the total number of items in Fibonacci series
max_item_input = num
max_item = int(max_item_input)
start2 = timer()

for count in range(max_item):
print(fibonacci_reg(count))

end2 = timer()
final2 = end2 - start2
print('second method', final2, 'seconds')


if __name__ == "__main__":
main()

The output

Method 1

Method 2

first method 0.00013596999997389503 seconds

second method 6.327770512998541 seconds

0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
first method 0.00013596999997389503 seconds
0
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
121393
196418
317811
514229
832040
1346269
2178309
3524578
5702887
second method 6.327770512998541 seconds