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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
def calc_prod(lst):
def f(x,y):
return x*y
def lazy_prod():
return reduce(f,lst)
return lazy_prod
def format_name(s):
return s.upper()[0:1]+s.lower()[1:]
def format_name(s):
return s.capitalize()
def prod(x, y):
if x != y:
return x*y
else:
return 1

print reduce(prod, [2, 4, 5, 7, 12])
reduce 是什么函数?
用string.title()
可以更加简洁
查了一下,貌似key的方法也可以,不过楼上有个哥们貌似少写了括号,sorted(s, key=lambda x: x.upper())
L2 = sorted(L1,key = lambda x:x.name)
这才是正确的code吧,4-3
最后加一个分母的判断会比较好。。。
def __str__(self):
g=gcd(self.p,self.q)
if self.q/g ==1:
return '%s'%(self.p/g)
else:
return '%s/%s'%(self.p/g,self.q/g)
到了这里,完全弄不懂了,头好痛
def count():
fs = []
for i in range(1, 4):
def x(a=i):
return a**2
fs.append(x)
return fs
这样子折腾好吗
第一次
def calc_prod(lst):
def x():
c = 1
for b in lst:
c *= b
return c
return x
第二次 查了下lambda 后原来这东西 是匿名函数
def calc_prod(lst):
def x():
return reduce(lambda a,b:a*b, lst)
return x
def cmp_ignore_case(s1, s2):
s1 = s1.lower()
s2 = s2.lower()
if s1 > s2:
return 1
if s1 < s2:
return -1
return 0
def is_sqr(x):
return int(math.sqrt(x)) ** 2 == x
呵呵。 sqrt 开方后是浮点数。 所以不能去判断 是否为int,
开平方根是否为整数 可以将结果转成整数,如果不是整数 乘回去 是不等的
def format_name(s):
return "%s%s" %(s[0].upper(),s[1:].lower())
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消