day11-homework

1.写一个生成式能够产生的数据为: 1, 4, 27, 256, 3125,…, 9**9

gen1 = (x ** x for x in range(1, 10))

2.写一个生成式能够产生1-10中所有半径是偶数的圆的面积

gen2 = (x ** 2 * 3.14 for x in range(2, 10, 2))

3.写一个生成式交换字典的键和值,产生一个新的字典

gen3 = {v: k for k, v in dict1.items()}
print(gen3)

4.为函数写一个装饰器,在函数执行之后输出 after

def 函数名1(参数一)
    def 函数名2(*args, **kwargs)
        实现为原函数添加功能的代码
        (保证出现:参数1(*args, **kwargs))
    return 函数2

def decorator(str1):
    def lmf(*args, **kwargs):
        str1()
        print('aftert')

    return lmf

@decorator
def func1():
    print('===============')

func1()

5.为函数写一个装饰器,把函数的返回值 +100 然后再返回。

def decorator1(str2):
    def lmf1(*args, **kwargs):
        x = str2(*args, **kwargs)
        return x + 100
    return lmf1


@decorator1
def func2(x):

    return x

print(func2(10))

你可能感兴趣的:(day11-homework)