标签:
迭代器
装饰器 ( http://www.cnblogs.com/wupeiqi/articles/4980620.html )
@w1 --- > 执行w1, 把自己装饰的函数的函数名作为参数, 即w1(index) ; w1(index)有返回值为inner, 赋予了装饰器装饰的函数,即index, 新index = inner;
index(‘aa‘,paa=‘ww‘) --- > 实例化index, 或者叫做调用index函数,即执行inner函数, 里面的main_func函数执行的是原来的index函数
装饰器带参数
def before(*args,**kwargs):
print(‘before‘)
def after(*args,**kwargs):
print(‘after‘)
def w1(before_func,after_func):
def outer(main_func):
def inner(*args,**kwargs):
before_func()
main_func(*args,**kwargs)
after_func()
return inner
return outer
@w1(before,after) # 先执行w1(before,after) -----》 得到 outer ----- > @outer ------ > new index = inner ---- > 执行 inner
def index(*args,**kwargs):
print(args,kwargs)
index(‘aa‘,passw=‘coo‘)
递归
斐波那契数列
二分查找
这里有一个小BUG,其实也不算BUG了,就是binarySearch(data, 700), 即我要搜索的数并不在范围里,会不断的循环,直至出错。为什么会这样? 留给你们思考。
4*4二维数组顺时针旋转90度
#!/usr/bin/env python
data=[[i for i in range(4)] for row in range(4)]
for i in data:
print i
print "--------------------------"
for r_index,row in enumerate(data):
for c_index in range(r_index,len(row)):
tmp = data[c_index][r_index]
data[c_index][r_index]=row[c_index]
row[c_index]=tmp
for i in data:
print i
print
print "##############################################################"
print
data=[[i for i in range(4)] for row in range(4)]
for i in data:
print i
print "--------------------------"
for r_index,row in enumerate(data):
for c_index in range(len(row)):
print data[c_index][r_index],
print
正则表达式
标签:
原文地址:http://www.cnblogs.com/joey251744647/p/5196588.html