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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
有的同学不是很明白生成顺序

def count():
fs = []
for i in range(1, 4):
def f(j):
def g():
return j*j
return g
r=f(i)
fs.append(r)
return fs

for name in count():
print name()

就明白了
def calc_prod(lst):
def lazy_prod():
return reduce(lambda x, y: x * y, lst)
return lazy_prod
pass
def f(lst):
def g():
def mul(x, y):
return x*y
return reduce(mul,lst)
return g
lst = [2, 3, 4, 5]
a = f(lst)
print(a())
python3中已经用不了上面的方法了,我用这种方法排序:
>>> my_list = ['bob', 'about', 'Zoo', 'Credit']
>>> sorted(my_list, key=lambda x: x.lower())
['about', 'bob', 'Credit', 'Zoo']
加油加油加油
def f_cmp(x,y):
if x[:1].lower() < y[:1].lower():
return -1
if x[:1].lower() > y[:1].lower():
return 1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'],f_cmp)
用辗转相除法求最大公约数:
def function(a,b):
c=a%b
if c==0:
return b
if c!=0:
a,b=b,c
return function(a,b)
import math

def is_sqr(x):
if math.sqrt(x) in range(1,11):
return x
else:
return None

print filter(is_sqr, range(1, 101))
def format_name(s):
return s[0].upper() + s[1:].lower()

print map(format_name, ['adam', 'LISA', 'barT'])
def __float__(self):
return self.p*1.0 / self.q
既然只打印名字,那时间功能我就不写了吧哈哈

import time, functools

def performance(text):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kw):
print '%s %s():' %(text, func.__name__)
return func(*args, **kw)
return wrapper
return decorator
在这里看到廖大神,感到好亲切...
imooc上的内容不及廖大神官网内容的20%,建议各位可以上廖大神官网看看:
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
全网最好评的python入门教程之一哦~
def performance(unit):
def qq(f):
def ww(*x):
print '[%s]call %s(),' % (unit, f.__name__)
return f(*x)
return ww
return qq
#其实就是在无参装饰器外面再套一层函数,用于引入一个参数,在python中内层函数可以调用外层的参数,外层的函数不能调用内层的参数
应该是缺少 类方法必有 self 属性
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消