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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • Python 进阶
    查看全部
    0 采集 收起 来源:课程介绍

    2015-04-16

  • __cmp__用实例自身self和传入的实例 s 进行比较,如果 self 应该排在前面,就返回 -1,如果 s 应该排在前面,就返回1,如果两者相当,返回 0。 if self.score == s.score: return cmp(self.name, s.name) return -cmp(self.score, s.score)
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2015-04-16

  • %s,表示格化式一个对象为字符 '(Student: %s, %s, %s)' % (self.name, self.gender, self.score) (Student: Bob, male, 88)
    查看全部
  • getattr(s, 'name') # 获取name属性 'Bob' >>> setattr(s, 'name', 'Adam') # 设置新的name属性
    查看全部
  • 如何区分包和普通的目录? 包文件中都含有__int__.py这个文件 如何解决同名的模块? 把它们放入不同的包中
    查看全部
  • class Fib(object): def __init__(self,num): a,b,L = 0,1,[] for n in range(num): L.append(a) a,b = b,a+b self.numbers = L print 'self.numbers is list?',isinstance(self.numbers,list) print len(L) def __str__(self): t = str(self.numbers) print 'self.numbers now is str?',isinstance(t,str) print len(t) return t __repr__ = __str__ def __len__(self): return len(self.numbers) f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2015-04-16

  • class Person(object): pass class Student(Person): pass class Teather(Person): pass class SkillMixin(object): pass class BasketballMixin(SkillMixin): def skill(self): return 'Basketball' class FootballMixin(SkillMixin): def skill(self): return 'Football' class Basket_Student(BasketballMixin,Student): def skill(self): return 'Basketball Student' class Foot_Teacher(FootballMixin,Teather): def skill(self): return 'Football Teather' t = Foot_Teacher() print t.skill() s = Basket_Student() print s.skill()
    查看全部
  • 下次听模块
    查看全部
    0 采集 收起 来源:课程介绍

    2015-04-16

  • 不同的实例它们拥有相同的数据类型,但是它们拥有不同的属性。
    查看全部
  • class Person(object): def __init__(self,name,gender): self.name = name self.gender = gender class Student(Person): def __init__(self,name,gender,score): super(Student,self).__init__(name,gender) self.score = score class Teacher(Person): def __init__(self,name,gender,course): super(Teacher,self).__init__(name,gender) #super之后没冒号 self.course = course t = Teacher('Alice','Female','English') print t.name print t.course
    查看全部
  • 类方法的第一个参数将传入类本身,通常将参数名命名为 cls,而cls.count 实际上相当于 Person.count。
    查看全部
  • for k,v in kw.iteritems(): setattr(self,k,v)
    查看全部
  • read()函数要带一个self参数。。。。
    查看全部
    0 采集 收起 来源:python中多态

    2015-04-15

  • 如果要把一个类的实例变成 str,就需要实现特殊方法__str__() 这时print 一个Person对象,就会按照定义的方式来显示 但如果不用print语句,直接在命令提示符下敲入一个Person对象,依然按照系统原有方式显示,这是因为Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员
    查看全部
  • 在Python中,函数其实是一个对象,所有的函数都是可调用对象. 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__() 我们把 Person 类变成一个可调用对象: class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __call__(self, friend): print 'My name is %s...' % self.name print 'My friend is %s...' % friend 现在可以对 Person 实例直接调用: >>> p = Person('Bob', 'male') >>> p('Tim') My name is Bob... My friend is Tim... 单看 p('Tim') 你无法确定 p 是一个函数还是一个类实例,所以,在Python中,函数也是对象,对象和函数的区别并不显著。
    查看全部
    0 采集 收起 来源:python中 __call__

    2018-03-22

举报

0/150
提交
取消
课程须知
本课程是Python入门的后续课程 1、掌握Python编程的基础知识 2、掌握Python函数的编写 3、对面向对象编程有所了解更佳
老师告诉你能学到什么?
1、什么是函数式编程 2、Python的函数式编程特点 3、Python的模块 4、Python面向对象编程 5、Python强大的定制类

微信扫码,参与3人拼团

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

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