刚投了一个实习简历,被电话打过来问了几个问题,外面下着大雨,一开始也没听见。。
问的是几个python的问题,被问傻了,哎,写下来记住。
1 lambda匿名函数
使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
使用lambda在某些时候让代码更容易理解。
打算就是在新版的tmqdu中大量的去使用匿名函数,列表运算,函数式编程。
2 yield
def g(n): for i in range(n): yield i **2
类似上面的代码
如果这样调用的话
for i in g(5): print i
这样就会返回打印出0, 1, 4, 。。。
包含yield语句的函数会被特地编译成生成器。当函数被调用时,他们返回一个生成器对象,这个对象支持迭代器接口。函数也许会有个return语句,但它的作用是用来yield产生值的。
不像一般的函数会生成值后退出,生成器函数在生成值后会自动挂起并暂停他们的执行和状态,他的本地变量将保存状态信息,这些信息在函数恢复时将再度有效
3 with
参考 http://weifei520120.blog.163.com/blog/static/1768908201368044556/
4 可变参数和关键词参数
http://blog.csdn.net/FeiSan/article/details/1729905