6.python-函数

# 函数(function)
# python中函数也是对象,可以是函数的参数和返回值


# 函数中嵌入函数
def sum_square(x):
    def square_input(x):
        return x * x

    return sum([square_input(x1) for x1 in x])


# 直接调用函数
print(sum_square([1, 2, 3]))  # 14

# 通过引用间接调用函数
sum_square_1 = sum_square
print(sum_square_1([1, 2, 3]))  # 14

from math import log


def apply_func(func_log, input_val):
    return map(func_log, input_val)


# log函数作为apply_func的参数
for x in apply_func(log, [1, 2, 3]):
    print(x)


# 0.0
# 0.6931471805599453
# 1.0986122886681098

# 函数可以返回一个函数
def cylinder_vol(r):
    pi = 3.1415926

    def get_vol(h):
        return pi * r ** 2 * h

    return get_vol


r = 10
find_volume = cylinder_vol(r)
h = 10
print("Volume of cylinder of radius %d and height %d = %.2f cubic units" % (r, h, find_volume(h)))
# Volume of cylinder of radius 10 and height 10 = 3141.59 cubic units
posted @ 2018-03-22 20:27  wjc920  阅读(99)  评论(0编辑  收藏  举报