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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
在学习Python之前学过java和c,但是还是感觉Python的跨度是有点大了。好多地方都是似懂非懂的
不理解,之后再来看
辗转相除法求最大公约数
str.capitalize()返回首字母大写的字符串
str.upper()全部大写
str.lower()全部小写
str.title()标题首字大写
def count():
fs = []
for i in range(1, 4):
def f(i):
return i*i
fs.append(f(i))
return fs

f1, f2, f3 = count()
print f1, f2, f3
fs = []
for i in range(1, 4):
def f():
return i*i
fs.append(f)
return fs

f1, f2, f3 = count()
在上述代码中,
通过逐次添加元素 " f " ,创建了一个包含三个元素的list。

1.fs.append(f)中的 f 是函数名,可以理解成 i*i, 其代表的是一种逻辑映射关系,无具体数值,无法 print 出来。

2.第9行代码,为赋值语句,将list的值,依次赋给 f1,f2,f3。
3.上述代码生成的count()是一个list,其中三个元素分别是[ f , f , f ],或者理解成 [ i*i, i*i,i*i ], 如果print count(), 得到是一个没有数值的list: [ , , ]。 本例中,在执行底9行代码之后,可以知晓,f1=i*i,f2=i*i,f3=i*i。
在第9行代码之后,i最终的存储状态为i=3。
4.Print f1(), 请注意,带(),表示函数值,输出 f1(i=3),即为 9。


PS: f与 f()不一样,f为函数名,代表逻辑映射关系,无具体数值,无法print, f()为函数值,可以在python中print出来
return res
return deco
return wrapper
@performance('ms')
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))

print factorial(10)
import time

def performance(f):
def fn(x):
t1= time.time()
res=f(x)
t2=time.time()
print 'call ' + f.__name__ + '()','in',t2-t1,'s'
return res
return fn
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))

print factorial(10)
不看同学们的评论真心不会啊
import math

def is_sqr(x):
if math.floor(math.sqrt(x))==math.sqrt(x):
return True
else:
return False

print filter(is_sqr, range(1, 101))
import math

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

print filter(is_sqr, range(1, 101))
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)
sorted([36,5,12,9,21],reversed_cmp)的执行过程是怎样的啊!有点懵逼。。。

------------用得冒泡排序的思路
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消