# -*- coding: utf-8 -*-
#
# 1.
# ,
#
# ,
def calc_sum(*args):
ax = 0
for n in args:
ax = ax + n
return ax
# ,
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
# lazy_sum() , ,
f = lazy_sum(1, 3, 5, 7, 9)
# sum
print(f)
# sum
print(f())
# , lazy_sum sum, , sum lazy_sum
# lazy_sum sum , , " (Closure)"
#
f1 = lazy_sum(1, 3, 5, 7, 9)
f2 = lazy_sum(1, 3, 5, 7, 9)
print(f1 == f2)
# f1 == f2 false
# f1() f2()
# 2.
# args, , ,
# , , f()
def count():
fs = []
for i in range(1, 4):
def f():
return i * i
fs.append(f)
return fs
f1, f2, f3 = count()
# , , , , 3
# (9, 9, 9)
print(f1(), f2(), f3())
# i, 。 3 , i 3, , 9
# ,
# ,
# , ,