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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
j = 0
def count():
fs = []
for i in range(1,4):
def f():
global j
j += 1
return j*j
fs.append(f)
return fs

f1, f2, f3 = count()
print f1(), f2(), f3()
def calc_prod(lst):
def prod():
return reduce(lambda x,y: x*y,lst)
return prod

f = calc_prod([1, 2, 3, 4])
print f()
def cmp_ignore_case(s1, s2):
if s1[0].upper() > s2[0].upper():
return 1
if s1[0].upper() < s2[0].upper():
return -1
return 0

print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
def prod(x, y):
return x*y

print reduce(prod, [2, 4, 5, 7, 12])
def format_name(s):
return s[0].upper() + s[1:].lower()

print map(format_name, ['adam', 'LISA', 'barT'])
如果是用python3写的话需要在map前面加上list
Python 3.x中的除法运算需要使用__truediv__
在python3中运行时,需要导入reduce(from functools import reduce)
def __float__(self):
return self.p*1.0/self.q
def __str__(self):
#p,q=float.as_integer_ratio(self.p/self.q)
#return '{}/{}'.format(p,q)

from fractions import Fraction
#字面意思,numerator获取分子,denominator获取分母
r=Fraction(self.p,self.q)
return '{}/{}'.format(r.numerator,r.denominator)
def __str__(self):
p,q=float.as_integer_ratio(self.p/self.q)
#float.as_integer_ratio(6/8) #Out[24]: (3, 4)
return '{}/{}'.format(p,q)
def __str__(self):
s=[]
a,b=0,1
for i in range(self.num):
a,b=a+b,a
s.append(b)
return str(s)
def __cmp__(self, s):
if self.score==s.score:
return -1 if self.name<s.name else 1
return 1 if self.score<s.score else -1
完结撒花 感谢老师
def calc_prod(lst):
def lazy_prod():
return reduce(lambda x,y:x*y,lst)
return lazy_prod

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

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消