“因为 add() 函数需要传入两个参数,但是 @log 写死了只含一个参数的返回函数。”这里所说的参数指的是fn(x)里面的x
2015-11-24
#coding=utf-8
def f1(x):
return x*2
def decorator(a): #装饰器函数,这里的a就相当于f1
def fn(x):
print 'call' + a.__name__+ '()'
return a(x)
return fn
#g1 = new_fn(f1)
#print g1(5)
f1 = decorator(f1)
print f1(5)
def f1(x):
return x*2
def decorator(a): #装饰器函数,这里的a就相当于f1
def fn(x):
print 'call' + a.__name__+ '()'
return a(x)
return fn
#g1 = new_fn(f1)
#print g1(5)
f1 = decorator(f1)
print f1(5)
2015-11-24
这个继承顺序怎么体现出来的?怎么理解呢? "class BStudent(Student,BasketballMixxin):..."
2015-11-24
[u'Tim', u'Bob', u'Alice'] 为毛输出结果是这个样式?
2015-11-24
解释器内部会将**kw拆分成对应的dict.
setattr()方法接受3个参数:setattr(对象,属性,属性的值)
setattr(self,k,v)相当于self.k = v
kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v
setattr()方法接受3个参数:setattr(对象,属性,属性的值)
setattr(self,k,v)相当于self.k = v
kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v
2015-11-24
最赞回答 / catdav
换个角度想:改之前,f()不带参数,fs里的f都是完全一样的,fs的内容是[f(),f(),f()]改之后,f(j)带参数,循环后产生了三个f(),fs的内容是[f(1),f(2),f(3)]
2015-11-23
上一条貌似没说对 ,for执行了 ,按1-2-3自嗨而已,只是i*i没执行…………
好吧 强行理解思考 for循环 自己执行着 1 2 3 这个for里面的i是外层的变量 ,
i*i又没有调用 ,是不会有结果的 …………只是外层的i长大到了3了 …………
好吧 强行理解思考 for循环 自己执行着 1 2 3 这个for里面的i是外层的变量 ,
i*i又没有调用 ,是不会有结果的 …………只是外层的i长大到了3了 …………
2015-11-23
建议例子中 把 f1 f2 f3 改成 abc 看着也没有那么绕……………………
a,b,c=count() 这一步i没有得到赋值----也就不会执行for语句---也就不能执行i*i----也就无法得到i×i---也就不可以通过fs.append(f)对fs[]列表作出什么改变---也就只能执行个 return fs ====执行了三次 i没有得到任用,for这位老兄就自我无聊的在内部循环着玩,三次就玩到3了,i就成了3,最大也就是3,谁再来找我我都还是3,f1()——吐槽,改成a()多好,注意f1不是f1()——来了,我就执行这个函数吧,忘里面走就成了f1(i),i×i=9...于是
a,b,c=count() 这一步i没有得到赋值----也就不会执行for语句---也就不能执行i*i----也就无法得到i×i---也就不可以通过fs.append(f)对fs[]列表作出什么改变---也就只能执行个 return fs ====执行了三次 i没有得到任用,for这位老兄就自我无聊的在内部循环着玩,三次就玩到3了,i就成了3,最大也就是3,谁再来找我我都还是3,f1()——吐槽,改成a()多好,注意f1不是f1()——来了,我就执行这个函数吧,忘里面走就成了f1(i),i×i=9...于是
2015-11-23
class Person(object):
count = 0
def __init__(self,name):
self.name = name
Person.count = Person.count + 1
p1 = Person('Bob')
print Person.count
p2 = Person('Alice')
print Person.count
p3 = Person('Tim')
print Person.count
count = 0
def __init__(self,name):
self.name = name
Person.count = Person.count + 1
p1 = Person('Bob')
print Person.count
p2 = Person('Alice')
print Person.count
p3 = Person('Tim')
print Person.count
2015-11-23
pip is run from the command line, not the Python interpreter. It is a program that installs modules, so you can use them from Python.
2015-11-23