python进阶
小太阳加油
一个人越懒,明天要做的事就越多。
展开
-
python中的高阶函数
高阶函数:能接收函数作为参数的函数。 一、map(f,list): python内置的一个高阶函数,需要一个函数和一个list作为参数,传进来的函数会一一作用于list中的每个元素,然后返回一个新的list。 二、reduce(f,list) python内置的一个高阶函数,同样,需要一个函数和list作为参数,传进来的函数会反复作用于list中的元素,然后返回最终结果。原创 2015-09-07 16:59:11 · 638 阅读 · 0 评论 -
匿名函数
在高阶函数中可以引入函数作为参数,这个引入的函数可以用匿名函数,可以减少代码量。 例如之前提到的map函数: def f(x): return x*x map(f,[1,2,3,4]) 这是常规写法,我们可以用匿名函数: map(lambda x:x*x,[1,2,3,4]) 1、匿名函数没有函数名,用lambda来表示; 2、lambda后的x表示参数; 3、匿名函数只原创 2015-09-09 16:27:37 · 411 阅读 · 0 评论 -
python中的返回函数
函数的返回值可以是函数: def f(): print 'f...' def g(): print 'g...' return g 执行x=f()后,x=g,只是指向g(),但并没有执行g()。只有执行了x(),才相当于执行了g()。所以,返回函数其实就是延后了函数具体计算的时间。 我们看一下具体执行结果:原创 2015-09-09 11:12:32 · 629 阅读 · 0 评论 -
闭包
内层函数使用外层函数的变量,最终返回内层函数,称为闭包。 用于闭包的局部变量不可变。 下面我们写一个关于闭包的例子:原创 2015-09-09 12:23:11 · 310 阅读 · 0 评论 -
偏函数
偏函数:可以快速创建一个含有某个默认参数的函数,以简化调用。 int()有个默认参数base,默认值是10,当不传参数时,会默认将其他类型的参数按照10进制转化为整型。如果我们需要按照2进制来转化,每次调用int()都需要这样写: int('123',base=2),会很麻烦。 这时我们可以创建一个新的函数: def int2(x,base=2): return原创 2015-09-15 12:20:13 · 448 阅读 · 0 评论 -
模块和包的概念
一、模块 【定义】.py的文件名就叫模块 【作用】有了模块后,我们可以把代码写进不同的.py文件中,并且在不同的.py文件中,可以写相同的变量名和函数名也没有关系。 【调用方法】调用别的模块的函数,需要先导入该模块 import time ----------------->在这里先导入该模块 time.time() 二、包 【定义】如果有相同的模块名,原创 2015-09-15 16:55:42 · 651 阅读 · 0 评论 -
导入模块
一、直接导入模块 import math print math.log(10) 二、导入模块中的某个函数 from math import log print log(10) 注意:由于直接导入某个函数调用的时候不写模块名,所以有时会导致混淆,我们可以在导入函数时进行重命名: from math import log as new_log print new_log原创 2015-09-15 19:11:21 · 618 阅读 · 0 评论 -
__future__的使用
python高版本中有很多新的特性,这些特性其实在低版本中就可以使用了,通过导入__future__模块的功能来使用: from __future__ import **功能 例如:在低版本中的除运算会直接取整: 引入新特性后,除运算可以保留浮点数:原创 2015-09-16 16:51:29 · 430 阅读 · 0 评论