import math
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
2016-04-13
在静态中,局变为堆栈,函数调用完返回就销毁;py的局变(逻辑意思上)是就像对象中的私有成员(暂时保存引用的对象的指针),其他标号也是,这里主要想顺便说明是不可以在函数体外引用这一个特性,一切皆对象嘛,所以在静态语言中这样是不行的,,,而在python,这里的变量表示的,写个1,’字符串‘出来的都相当于创建一个对象实例空间,作为参数时是对象引用的,会定位到具体对象去,不是像所谓的参数一样,定位到参数这个地址,,这就为什么在分别执行f1,f2,f3可以得到正确的值,(所以其中隐藏了很多实际细节,所有的具体内容,都有空间,引用是引用地址,而运算用的是里面的内容),这里常数1,也是个对象,不只是一个值
2016-04-12
闭包就是根据不同的配置信息得到不同的结果
看看这个blog例子很不错:http://www.cnblogs.com/ma6174/archive/2013/04/15/3022548.html
看看这个blog例子很不错:http://www.cnblogs.com/ma6174/archive/2013/04/15/3022548.html
2016-04-12
def calc_prod(lst):
def multiple():
multi=1
for i in lst:
multi=multi*i
return multi
return multiple
f = calc_prod([1, 2, 3, 4])
print f()
def multiple():
multi=1
for i in lst:
multi=multi*i
return multi
return multiple
f = calc_prod([1, 2, 3, 4])
print f()
2016-04-12
def cmp_ignore_case(s1, s2):
return s1-s2
print sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower)
return s1-s2
print sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower)
2016-04-11
#!/usr/bin/env python3
class Person(object):
def __init__(self,name,age,grade, **kw):
self.name=name
self.age=age
self.grade=grade
for k,v in kw.items():
setattr(self, k, v)
class Person(object):
def __init__(self,name,age,grade, **kw):
self.name=name
self.age=age
self.grade=grade
for k,v in kw.items():
setattr(self, k, v)
2016-04-11
def calc_prod(lst):
def p():
return reduce(lambda x,y: x*y, lst)
return p
f = calc_prod([1, 2, 3, 4])
print f()
def p():
return reduce(lambda x,y: x*y, lst)
return p
f = calc_prod([1, 2, 3, 4])
print f()
2016-04-11
def cmp_ignore_case(t):
return t.lower()
print sorted(['bob', 'about', 'Zoo', 'Credit'], key=cmp_ignore_case)
更简洁一点
return t.lower()
print sorted(['bob', 'about', 'Zoo', 'Credit'], key=cmp_ignore_case)
更简洁一点
2016-04-11
首先是sorted函数,第一个参数为LIST 即 L1 第二个参数为定义的比较函数;
lambda p1, p2: cmp(p1.name, p2.name) 意思是,传入p1和p2,比较两者的name
这样一分解就容易理解了吧
lambda p1, p2: cmp(p1.name, p2.name) 意思是,传入p1和p2,比较两者的name
这样一分解就容易理解了吧
2016-04-10