-
def count(): fs = [] for i in range(1, 4): def f(j): def g(): return j*j return g r=f(i) fs.append(r) return fs f1, f2, f3 = count() print f1(), f2(), f3()查看全部
-
@classmethod来声明类方法查看全部
-
通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。查看全部
-
types.MethodType(fn, obj, Class)来绑定一个成员方法到某个对象上查看全部
-
实例属性是每个对象私有的 而类属性是整个类所共有的 定义类属性可以直接在class中定义 直接用类名.属性名就可以访问,不需要绑定到对象上查看全部
-
types.MethodType() 把一个函数变为一个方法 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。查看全部
-
返回函数可以把一些计算延迟执行 def calc_prod(lst): def mult(): #注意参数,内部定义的函数可以直接使用父函数的参数。 sum=1 for num in lst: sum *= num return sum return mult f = calc_prod([1, 2, 3, 4]) print f()查看全部
-
Python内置的 sorted()函数可对list进行排序 sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0 sorted([36, 5, 12, 9, 21], reversed_cmp) def cmp_ignore_case(s1, s2): if s1.upper() > s2.upper() : return 1 elif s1.upper() == s2.upper() : return 0 else : return -1 print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)查看全部
-
filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。 import math def is_sqr(x): r = int (math.sqrt(x)) #注意强制类型转换的格式 return r*r == x print filter(is_sqr, range(1, 101))查看全部
-
reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值 reduce()还可以接收第3个可选参数,作为计算的初始值查看全部
-
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。查看全部
-
变量可以指向函数 高阶函数:可以接收函数作为参数 def add(x,y,f): return f(x)+f(y) >>> add(-5,9,abs)查看全部
-
def __init__(self, name, gender, birth, **kw): for k, v in kw.iteritems(): setattr(self, k, v)查看全部
-
Python 3.x中,字符串统一为unicode,不需要加前缀 u,而以字节存储的str则必须加前缀 b Python 3.x已经改进了整数的除法运算,“/”除将得到浮点数,“//”除才仍是整数: >>> 10 / 3 3.3333333333333335 >>> 10 // 3 3 当新版本的一个特性与旧版本不兼容时,该特性将会在旧版本中添加到__future__中,以便旧的代码能在旧版本中测试新特性。查看全部
-
Python是动态语言,解释执行,因此Python代码运行速度慢。 如果要提高Python代码的运行速度,最简单的方法是把某些关键函数用 C 语言重写,能大大提高执行速度。 利用import ... as ...,还可以动态导入不同名称的模块。 利用ImportError错误,我们经常在Python中动态导入模块 try: from cStringIO import StringIO except ImportError: from StringIO import StringIO try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。查看全部
举报
0/150
提交
取消