简单来说,就是借助默认参数j保存下了每一次的i。
执行count()的结果是:[f(1),f(2),f(3)] 这三个函数。
而真正执行乘法运算的是f()里面的函数g。
执行count()的结果是:[f(1),f(2),f(3)] 这三个函数。
而真正执行乘法运算的是f()里面的函数g。
2016-04-22
Orz:本地会爆的AttributeError: 'Person' object has no attribute '__score'
2016-04-21
已采纳回答 / polatouche
Person是Student的父类,Student可以继承Person的属性和方法。在我的理解中,Object就是为了保证类这个格式的统一性,Object的相当于Person的父类,但这个父类实际是不存在的,就好比子类有父类,父类还有父类,父类的父类还有父类,无穷尽的,然后就规定到了终极父类Object
2016-04-21
已采纳回答 / 爬行123
x if condition else y 是一个 python 的专门的语法,等价于 C 里面的 condition ? x : y,如果你没学过 C 的话,这个语法的含义就是,先判断 condition 的真假,如果为真,整个表达式就返回 x,如果为假就返回 y。lambda是匿名函数,传递为x参数,如果X<0,则取反。如果X>0,则还为X
2016-04-21
已采纳回答 / LibertFan
sqrt是math中的函数,所以要加math.防止和其它的模块中的同名函数矛盾,abs是python自带的吧,不用import math也可以用的
2016-04-21
python中,函数(方法)并不是依附与类才能存在。函数并不只是在类中定义。这种直接在模块中而不是类中定义的函数(方法),叫做函数。
而 方法(method),是依附于类 的,他们定义在类中,是属于类的,但是他们本质上,还是一个函数。方法的第一个参数不一定必须是self。
这么说吧,凡是def foo()这种,都是函数,在类中定义的函数,就是方法。
总结:
方法:类内普通方法,类方法
函数:普通函数,类内的静态方法
而 方法(method),是依附于类 的,他们定义在类中,是属于类的,但是他们本质上,还是一个函数。方法的第一个参数不一定必须是self。
这么说吧,凡是def foo()这种,都是函数,在类中定义的函数,就是方法。
总结:
方法:类内普通方法,类方法
函数:普通函数,类内的静态方法
2016-04-20
class Person(object):
def __init__(self,name,gender,birth,**kw):
self.name=name
self.gender=gender
self.birth=birth
self.kw=kw
xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student')
print xiaoming.name
print xiaoming.kw
def __init__(self,name,gender,birth,**kw):
self.name=name
self.gender=gender
self.birth=birth
self.kw=kw
xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student')
print xiaoming.name
print xiaoming.kw
2016-04-20
首先是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-20
我在想能不能这样理解,Student这个类在潜意识里接受过按自己姓名第一个字母来排队的命令(任务中就是__cmp__方法),但这个命令需要有老师发布,这时候Student创建了三个同学a,b,c,老师sorted()发布命令后,三个同学开始按命令来自动排队,其实相互之间谁也没有命令谁,只是根据自己的潜意识拿自己self跟队伍里面其它的人做比较,刚开始a一个同学,发现没有s,就站好了;接着b发现了a,比较了一下,就站a后面了,最后c继续比较。
2016-04-20
def calc_prod(lst):
def plus():
p=1
for x in lst:
p=p*x
return p
return plus
f = calc_prod([1, 2, 3, 4])
print f()
def plus():
p=1
for x in lst:
p=p*x
return p
return plus
f = calc_prod([1, 2, 3, 4])
print f()
2016-04-20