[关闭]
@WillireamAngel 2018-05-01T14:42:58.000000Z 字数 1546 阅读 933

动态规划

Python


培训内容:
1.lambda
2.循环for..in.. while;
continue结束单次循环和break结束整个循环跳出;
运算:0-->False和1-->True
3.
容器:元素组织在一起,容器中元素可逐个迭代获取,容器都可以被迭代(用在for,while等语句中),因此他们被称为可迭代对象。

  1. list, deque, ….
  2. set, frozensets, ….
  3. dict, defaultdict, OrderedDict, Counter, ….
  4. tuple, namedtuple,
  5. str

迭代器:可以返回一个迭代器的对象都可称之为可迭代对象。list是可迭代对象,dict是可迭代对象,set也是可迭代对象。
实现__iter__(可迭代对象)和__next__()(迭代器),__iter__返回迭代器自身,__next__返回容器中的下一个值。
itertools
生成器:yiled关键字,生成器一定是迭代器(反之不成立),函数返回生成器对象。
装饰器:'@函数名'语法糖

  1. def w1(func):
  2. def inner(*args,**kwargs):
  3. # 验证1
  4. # 验证2
  5. # 验证3
  6. return func(*args,**kwargs)
  7. return inner
  8. @w1
  9. def f1(arg1,arg2,arg3):
  10. print 'f1'

装饰器可以传入n个参数,一个函数可以由多个装饰器装饰,可以多层修饰的装饰器:

  1. #!/usr/bin/env python
  2. #coding:utf-8
  3. def Before(request,kargs):
  4. print 'before'
  5. def After(request,kargs):
  6. print 'after'
  7. def Filter(before_func,after_func):
  8. def outer(main_func):
  9. def wrapper(request,kargs):
  10. before_result = before_func(request,kargs)
  11. if(before_result != None):
  12. return before_result;
  13. main_result = main_func(request,kargs)
  14. if(main_result != None):
  15. return main_result;
  16. after_result = after_func(request,kargs)
  17. if(after_result != None):
  18. return after_result;
  19. return wrapper
  20. return outer
  21. @Filter(Before, After)
  22. def Index(request,kargs):
  23. print 'index'

4.class类封装引用,list方法,list(::-1)
5.try...except...finally(关闭文件)或try...with... except
6.sort&sorted:

  1. sorted(iterable[, cmp[, key[, reverse]]])

iterable -- 可迭代对象。
cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注