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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
from os.path import isdir,isfile
for i in range(1, 4):
def f():
return i*i
fs.append(f)
之所以输出是999,是因为在调用函数时,函数内使用的i所指向的内存其实是循环变量i所指向的内存,其已经改变。
而我们只需要让函数单独指向一个属于它的内存就可以了。
def count():
fs = []
for i in range(1, 4):
def f(a = i):
return a*a
fs.append(f)
return fs
return 'A' if self.__score-90>=0 else 'B' if self.__score-60>=0 else 'C'
又开始看不懂咯
格式很重要!!!
最简单的
import math

def is_sqr(x):
a = math.sqrt(x)
return int(a) == a

print filter(is_sqr, range(1, 100))
def cmp_ignore_case(s1, s2):
t1=s1.upper()
t2=s2.upper()
if t1>t2:
return 1
if t1<t2:
return -1
if t1==t2:
return 0


print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
import math

def is_sqr(x):
r=int(math.sqrt(x))
return r*r==x

print filter(is_sqr, range(1, 101))
我已经晕了
这个在现实工作中用的多么
其实装饰器没这么难,是这节课的老师讲得太坑B了。
http://www.cnblogs.com/rollenholt/archive/2012/05/02/2479833.html我百度了好多,这篇讲得最容易懂,看完就差不多可以理解了,然后再慢慢消化。这个老师讲得完全不按正常进度来,跳得太快。
示例代码就是强
lst为空lst时需要判定一下吧,另外可以改写成reduce版的
def calc_prod(lst):
def result():
if lst.__len__()==0:
return 'Empty List'
rlt = 1
for x in lst:
rlt = rlt * x
return rlt
return result

f = calc_prod([])
print f()
老师你是在秀优越么?
def calc_prod(lst):
def prod(x, y):
return x * y
def g():
return reduce(prod,lst)
return g
f = calc_prod([1, 2, 3, 4])
print f()
顺带复习了reduce高阶函数的使用
print isinstance(t,Person)
print isinstance(t,Student)
print isinstance(t,Teacher)
print isinstance(t,object)
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消