python的几个问题

刚投了一个实习简历,被电话打过来问了几个问题,外面下着大雨,一开始也没听见。。

问的是几个python的问题,被问傻了,哎,写下来记住。

1 lambda匿名函数

使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。

对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。

使用lambda在某些时候让代码更容易理解。

打算就是在新版的tmqdu中大量的去使用匿名函数,列表运算,函数式编程。

 

2 yield

python的几个问题
def g(n):
     for i in range(n):
        yield i **2    
python的几个问题

类似上面的代码 

如果这样调用的话

python的几个问题
for i in g(5):
    print i
python的几个问题

这样就会返回打印出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

python的几个问题,布布扣,bubuko.com

python的几个问题

上一篇:二叉树数组实现[C/C++]代码


下一篇:理解Java String和String Pool