为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
@property
def grade(self):
if self.__score >= 80:
return 'A'
elif self.__score >= 60:
return 'B'
else:
return 'C'
def __float__(self):
return self.p / (self.q*1.0)
偏函数的详解大家可以参考这里:
http://blog.csdn.net/appleyk/article/details/77609114
def gcd(self, x, y):
if y > 0:
return self.gcd(y, x%y)
else:
return x

def __str__(self):
return '%s/%s' % (self.p/self.gcd(self.p, self.q), self.q/self.gcd(self.p, self.q))
def calc_prod(lst):
#def lazy_prod():
def f(x, y):
return x * y
return reduce(f, lst, 1)
#return lazy_prod
f = calc_prod([1, 2, 3, 4])
print (f)
其实中间的lazy_prod可以省略,这样的话f就赋值一个数值而不是一个函数;如果不省略的话f其实被赋的函数是lazy_prod而并不是f()//很多人可能像我一样以为是f(),后来我就想如果是f()那不就直接可以得值,后来调试发现问题的
Python NameError: name 'reduce' is not defined
今天在搜用Python求阶乘的时候, 搜出来的最简单的是用reduce这个built-in function, 但是我在用reduce的时候, 却报NameError: name 'reduce' is not defined. 于是又搜了一下,发现在python 3.0.0.0以后, reduce已经不在built-in function里了, 要用它就得from functools import reduce.
教会徒弟饿死师傅,把简单事情将复杂,让你觉得自己不行,这才是中国教育几千年传下来的精髓
扎心了 各位老铁
我看了五遍才看懂
def __init__(self, num):
L = [0,1]
for x in range(num-2):
L.append(L[-1]+L[-2])
self.names = L
#帅
def __init__(self, num):
a, b, L = 0, 1, []
for i in range(num):
L.append(a)
a, b = b, a+b
self.names = L
这个方法简直帅爆了:
def __init__(self, num):
L = [0,1]
for x in range(num-2):
L.append(L[-1]+L[-2])
self.names = L

def __str__(self):
return '%s' % self.names

def __len__(self):
return len(self.names)
def __init__(self, num):
for x in range(num):
self.b.append(self.F(x))
self.names = self.b

def __str__(self):
return '%s'% self.b

def __len__(self):
return len(self.names)
def F(self, x):
if x == 0:
return 0
if x == 1:
return 1
return self.F(x-1)+self.F(x-2)
if self.score < s.score:
return 1
elif self.score > s.score:
return -1
else:
if self.name < s.name:
return -1
elif self.name > s.name:
return 1
else:
return 0
def __str__(self):
return '(Student: %s, %s, %s)' % (self.name, self.gender, self.score)

__repr__ = __str__
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消