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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
给一个bug版的代码。
import math

def is_sqr(x):
return x in [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

print filter(is_sqr, range(1, 101))
在__cmp__里面加一个判断语句
= = <>和() 的差别= =日了狗
xfn
import time

def performance(unit):
def per_de(f):
def wrapper(*args,**kw):
print '[%s] call %s()...' %(unit,f.__name__)
return f(*args,**kw)
return wrapper
return per_de

@performance('ms')
python的类属性和Java里面的类静态变量类似。不需要创建实例,就可以直接访问,同时类变量被所有类生成的实例共享。
简单来说,就是借助默认参数j保存下了每一次的i。
执行count()的结果是:[f(1),f(2),f(3)] 这三个函数。
而真正执行乘法运算的是f()里面的函数g。
print p.__score 这句话明显错误,应该用get_score()方法调用得到!
Orz:本地会爆的AttributeError: 'Person' object has no attribute '__score'
python中,函数(方法)并不是依附与类才能存在。函数并不只是在类中定义。这种直接在模块中而不是类中定义的函数(方法),叫做函数。
而 方法(method),是依附于类 的,他们定义在类中,是属于类的,但是他们本质上,还是一个函数。方法的第一个参数不一定必须是self。
这么说吧,凡是def foo()这种,都是函数,在类中定义的函数,就是方法。
总结:
方法:类内普通方法,类方法
函数:普通函数,类内的静态方法
class Person(object):
def __init__(self,name,gender,birth,**kw):
self.name=name
self.gender=gender
self.birth=birth
self.kw=kw

xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student')

print xiaoming.name
print xiaoming.kw
首先是sorted函数,第一个参数为LIST 即 L1 第二个参数为定义的比较函数;

lambda p1, p2: cmp(p1.name, p2.name) 意思是,传入p1和p2,比较两者的name

这样一分解就容易理解了吧
分析的好
推荐学习:http://www.liaoxuefeng.com/
我在想能不能这样理解,Student这个类在潜意识里接受过按自己姓名第一个字母来排队的命令(任务中就是__cmp__方法),但这个命令需要有老师发布,这时候Student创建了三个同学a,b,c,老师sorted()发布命令后,三个同学开始按命令来自动排队,其实相互之间谁也没有命令谁,只是根据自己的潜意识拿自己self跟队伍里面其它的人做比较,刚开始a一个同学,发现没有s,就站好了;接着b发现了a,比较了一下,就站a后面了,最后c继续比较。
为什么到后面,我已经看不懂,也写不来了,函数好难啊
我觉得学函数,好难啊
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消