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