-
#filter()函数接收一个函数和一个list 这个函数的作用是对每个元素进行判断,返回Ture或False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成新list python中的strip()函数是用于移除头尾字符串指定的字符。s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),查看全部
-
约分方法:同除以最大公约数 求最大公约数: 方法1: def gcd(a, b): if b == 0: return a return gcd(b, a % b) 方法2: from fractions import gcd gcd(a,b) # 返回a,b的最大公约数查看全部
-
map()函数不改变原有的list,而是返回一个新的list。 利用map()函数,可以把一个list转换为另一个list,只需要传入转换函数。 由于list包含的元素可以是任何类型,因此,map()不仅仅可以处理只包含数值的list,事实上它可以处理包含任意类型的list,只要传入的函数f可以处理这种数据类型查看全部
-
python编程特点查看全部
-
import time, functools def performance(unit): def per(f): @functools.wraps(f) def fn(*args, **kw): t1 = time.time() b = f(*args, **kw) t2 = time.time() t = (t2 - t1)*1000 if unit == 'ms' else (t2-t1) print 'call %s() in %f %s' % (f.__name__, t, unit) return b return fn return per @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(100) print factorial.__name__查看全部
-
import time def performance(unit): def per(f): def fn(*args, **kw): t1 = time.time() b = f(*args, **kw) t2 = time.time() t = (t2-t1)* 1000 if unit =='ms' else (t2-t1) print 'call %s() in %f %s' % (f.__name__, t, unit) return b return fn return per @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)查看全部
-
import time def performance(f): def fn(*args, **kw): t1 = time.time() b = f(*args, **kw) t2 = time.time() print 'call %s() in %fs' % (f.__name__, (t2 - t1)) return b return fn @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)查看全部
-
import time def performance(f): def fn(*args, **kw): t1 = time.time() b = f(*args, **kw) t2 = time.time() print 'call %s() in %fs' % (f.__name__, (t2 - t1)) return fn @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)查看全部
-
def __init__(self, name, gender, **kw): self.name = name self.gender = gender for k, v in kw.iteritems(): setattr(self, k, v)查看全部
-
关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。查看全部
-
内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。查看全部
-
reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值查看全部
-
由于属性可以是普通的值对象,如 str,int 等,也可以是方法,还可以是函数,大家看看下面代码的运行结果,请想一想 p1.get_grade 为什么是函数而不是方法: class Person(object): def __init__(self, name, score): self.name = name self.score = score self.get_grade = lambda: 'A' p1 = Person('Bob', 90) print p1.get_grade print p1.get_grade() ?不会了怎么办 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。查看全部
-
函数调用不需要传入 self,但是方法调用需要传入 self。 def gn_get_grade(self): .... 有self可以转化为方法。 对比下面的两个例子,第一个fn_get无参(self),调用时会报错;而第二三个说明, fn_get有a这个参数,python将其作为self,可成功调用 >>> def fn_get(): return 'A' >>> p1.fn = types.MethodType(fn_get, p1) >>> p1.fn <bound method Person.fn_get of <__main__.Person object at 0x01B120D0>> >>> p1.fn() Traceback (most recent call last): File "<pyshell#37>", line 1, in <module> p1.fn() TypeError: fn_get() takes 0 positional arguments but 1 was given >>> def fn_get(a): return 'A' >>> p1.fn2 = types.MethodType(fn_get, p1) >>> p1.fn2() 'A' >>> def fn_get(a): return a.name >>> p1.fn3 = types.MethodType(fn_get, p1) >>> p1.fn3() 'Bob' >>>查看全部
-
s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。查看全部
举报
0/150
提交
取消