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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。
定义命名的关键字参数不要忘了写分隔符*,否则定义的将是位置参数。
默认参数一定要用不可变对象
要注意定义可变参数和关键字参数的语法:
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。
以及调用函数时如何传入可变参数和关键字参数的语法:
可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));
关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。
以后再回来好好研究
import string
def format_name(s):
return string.capwords(s)

print map(format_name, ['adam', 'LISA', 'barT'])
def count():
fs = []
for i in range(1, 4):
def f(j):
return j * j
fs.append(f(i))
return fs

print [x for x in count()]
# python3
def clac_prod(n):
def z():
s = 1
for i in n:
s *=i
return s
return z

f = clac_prod([1,2,3])
print(f())
装饰器那几节看了三天才懂了一点点
def cmp_ignore_case(s1, s2):
if s1[0].lower() > s2[0].lower():
return 1
if s1[0].lower() < s2[0].lower():
return -1
return 0

print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
l = filter(lambda s: s and len(s.strip()) > 0, ['test', None, '', 'str', ' ', 'END'])
print(list(l))
过关最短代码

print['about','bob','Credit','Zoo']
高价函数就是函数套函数
map()就像画地图,根据地形按照比例画到图上。每一个地形就对应一个图形。reduce()像贪吃蛇,有初始长度,挨着吃过去。吃到最后就剩一个值了。
reduce(), 就像一个贪吃蛇。有初始大小,挨着往过吃。
def format_name(s):
return s[0].upper()+s[1:].lower()

print map(format_name, ['adam', 'LISA', 'barT'])
def f(lst):
def k():
def g(i):
return i*i
return map(g,lst)
return k
m = f([1,2,3])
print(list(m()))
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消