-
装饰器的作用
查看全部 -
def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f) return fs ,每次调用的都是函数f 但局部变量在变 故最后引用的都是3 def count(): fs = [] for i in range(1, 4): def f(j): def g(): return j*j return g r = f(i) 而这样每次调用的函数就是f(1)f(2 )而不是同一个
查看全部 -
and 是与运算,两边都为真,才返回真而这里s and len(s.strip())>0其中先看 s 本身是否为真,再看 len(s.strip())>0 ,也就是去掉 s 中的空白符(包括'\n', '\r', '\t', ' ')后,看是否为真此时,两边都为真的情况下,才说明这个s是真
查看全部 -
学习查看全部
-
比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。
查看全部 -
Python中decorator没看懂,回头继续看。
查看全部 -
python是动态语言,调用实例作为参数,不检查类型,只要实例对象存在相应的方法就行。静态语言如Java不一样。
查看全部 -
types.MethodType()动态地把一个函数添加到实例上去
查看全部 -
可见,当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。
当我们把 p1 的 address 实例属性删除后,访问 p1.address 就又返回类属性的值 'Earth'了:
del p1.address print p1.address# => Earth
可见,千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性。
查看全部 -
map()函数不改变原有的 list,而是返回一个新的 list。
s.capitalize()第一个大写,其他全部小写
print(str.upper()) # 把所有字符中的小写字母转换成大写字母 print(str.lower()) # 把所有字符中的大写字母转换成小写字母 print(str.capitalize()) # 把第一个字母转化为大写字母,其余小写 print(str.title()) # 把每个单词的第一个字母转化为大写,其余小写
查看全部 -
import time def performance(f): def fn(*args, **kw): t1 = time.time() r = f(*args, **kw) //该步骤执行函数 t2 = time.time() print 'call %s() in %fs' % (f.__name__, (t2 - t1)) return r return fn @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
查看全部 -
abs作为参数传进去
查看全部 -
由于Python是动态语言,任何实例在运行期都可以动态地添加属性。
查看全部 -
x=f()将f()赋值给x
print x,是返回f()所在内存位置
print x(),是返回f()的返回值
查看全部 -
sorted(L,func),高阶函数中的func可以改变排序的规则,func()中需传入2个参数
查看全部
举报