2018年5月10日Python学习笔记——冒泡、递归、装饰器

冒泡排序

li = [33, 2, 10, 1]
for t in range(1, len(li)):
    for i in range(len(li) - 1):
        if li[i] > li[i + 1]:
            temp = li[i]
            li[i] = li[i + 1]
            li[i + 1] = temp
for i in li:
    print(i)

递归(斐波拉契数列

def f5(depth, a1, a2):
    if depth == 10:
        return a1
    a3 = a1 + a2
    f = f5(depth + 1, a2, a3)
    return f


ret = f5(1, 0, 1)
print(ret)
装饰器(在不改变原函数的情况下,让它在执行原函数之前或之后,做点其他的操作)

def outer(func):
    #func => 原来的f1函数
    def inner():
        print("hello")
        print("hello")
        print("hello")
        r = func() #原f1函数
        print("end")
        print("end")
        print("end")
    return  inner
@outer
def f1():
    #1.执行outer函数,并且将其下面的函数名,当做参数
    #2.将outer的方绘制重新复制给F1=outer的返回值
    #新f1函数=inner
    print("F1")
r = f1()
def f2():
    print("F2")
f2()

没有更多推荐了,返回首页