函数笔记

 

 

 

  

装饰器:

先来个形象比方
内裤可以用来遮羞,但是到了冬天它没法为我们防风御寒,
聪明的人们发明了长裤,有了长裤后宝宝再也不冷了,
装饰器就像我们这里说的长裤,在不影响内裤作用的前提下,给我们的身子提供了保暖的功效。

def num(funk):
  def num_3():
      print('穿')
      print('秋')
      print('裤\n')
      funk()
      print('\n穿')
      print('秋')
      print('裤')
  return num_3

@num
def num_1():
    print('我是内裤')

num_1()



多层装饰
def num_4(funk):
    def num_5():

        funk()
        print('\n穿1 ')
        print('秋')
        print('裤')
    return num_5




def num(funk):
    def num_3():
        print('穿')
        print('秋')
        print('裤\n')
        funk()

    return num_3



@num
@num_4
def num_1():
    print('我是内裤')

num_1()

  

 

递归:

 

 

晚上,给4岁的女儿讲这幅漫画《父与子---祖先画廊》。
我啰啰嗦嗦地讲了半天:
“
这幅是爸爸和儿子;
这幅是爷爷和爸爸;
这幅是爷爷的爸爸和爷爷;
这幅是爷爷的爷爷和爷爷的爸爸;
这幅是爷爷的爷爷的爸爸和爷爷的爷爷;
这幅是爷爷的爷爷的爷爷和爷爷的爷爷的爸爸。
”
然后女儿一脸懵逼,说道:“这几幅画不都是父与子吗!”

def num(a):
    print(a)
    if a == 800:
        return a
    a += 1
    num(a)
num(0)

a = 1
while a < 800:
    a += 1
    print(a)

  

斐波那契数:
def num_1(a,b):
    print(a)
    c = a + b
    num_1(b,c)
num_1(0,1)

  

冒泡排序
简介为了准确来自百度百科,代码来自自己学习后实践:
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。

冒泡排序算法的运作如下:(从后往前)
1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

list_1 = [11,33,43,54,354,54,35,45,234234,112,6657,7654768,432412,8790,55,4433,22,222,79,98,75,4,33,3334,5,34,534,5,3,5,3,54,32,4,234,65,6,45,1,3411,345,7,8,9,8,6,]
for j in range(1,len(list_1)):
    for i in range(len(list_1)-j):
        if list_1[i] > list_1[i+1]:
            temp = list_1[i]
            list_1[i] = list_1[i+1]
            list_1[i+1] = temp
print(list_1)

  

posted @ 2016-12-23 10:54  200ML  阅读(160)  评论(0编辑  收藏  举报