最难的放最前面是想让我们放弃python转其他语言来防止我们以后牛逼了抢你饭吃?还是那句话,不想当老师,就别冒出来误人子弟
2016-08-21
像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。
说好的零基础呢?零?
闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。
说好的零基础呢?零?
2016-08-21
def cmp_ignore_case(s1, s2):
if s1.title()[0]>s2.title()[0]:
return 1
if s1.title()[0]<s2.title()[0]:
return -1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
if s1.title()[0]>s2.title()[0]:
return 1
if s1.title()[0]<s2.title()[0]:
return -1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
2016-08-21
import math
def is_sqr(x):
return math.sqrt(x)==int(math.sqrt(x))
print filter(is_sqr, range(1, 101))
def is_sqr(x):
return math.sqrt(x)==int(math.sqrt(x))
print filter(is_sqr, range(1, 101))
2016-08-20
f1, f2, f3 = count() 是否可以理解在这个地方用了count()于是i开始for循环计数,计到3就停了并保留
print f1(), f2(), f3() 这里引用了f(),于是就i开始计算,然而都是3*3了
print f1(), f2(), f3() 这里引用了f(),于是就i开始计算,然而都是3*3了
2016-08-19
楼上的不要误人子弟了setattr的正确用法应该是:
Set a named attribute on an object; setattr(x, 'y', v) is equivalent to``x.y = v''.
实际上setattr(self,k,v)中的key在dic中是一个字符串。所以无法用self.k=v赋值,只能用setattr
Set a named attribute on an object; setattr(x, 'y', v) is equivalent to``x.y = v''.
实际上setattr(self,k,v)中的key在dic中是一个字符串。所以无法用self.k=v赋值,只能用setattr
2016-08-19