首页 > 编程语言 > 详细

PYTHON之路(四)

时间:2016-02-17 22:20:44      阅读:176      评论:0      收藏:0      [点我收藏+]


迭代器


技术分享


装饰器 ( 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




技术分享




正则表达式


技术分享

PYTHON之路(四)

原文:http://www.cnblogs.com/joey251744647/p/5196588.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!