摘要: 使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。 我们以内建的sys模块为例,编写一个hello的模块: 第1行和第2行是标准注释,第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件本身使用标准UTF 阅读全文
posted @ 2016-06-20 15:34 公众号java-codestack 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下: int()函数可以把 阅读全文
posted @ 2016-06-20 11:47 公众号java-codestack 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 装饰器 由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。 >>> def now(): ... print '2013-12-25' ... >>> f = now >>> f() 2013-12-25 函数对象有一个__name__属性,可以拿到函数的名字: >> 阅读全文
posted @ 2016-06-20 11:30 公众号java-codestack 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 匿名函数 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。 在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数: 通过对比可以看出,匿名函数lambda x: x * x实际上就 阅读全文
posted @ 2016-06-20 10:22 公众号java-codestack 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 返回函数 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的: 但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数! 当我们调用lazy_sum( 阅读全文
posted @ 2016-06-20 09:38 公众号java-codestack 阅读(224) 评论(0) 推荐(0) 编辑