为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
python进阶_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 方法是在类的内部定义的,只能通过实例化之后使用;而函数是在程序内定义的,可以不必实例化,直接用。举个例子,如果有个方法和函数都叫func,方法的调用方法必须是a.func()(其中,a为类的实例);函数的调用方法为func()
    查看全部
  • 主要说的是将参数绑定在类上,这样,不同的实例对象都会对应改变同一个类的属性
    查看全部
  • python中类型转换 >>> int(12.34) 12 >>> float(12) 12.0 Rational 转换为int r=Rational(12,5) n=int(r) 让int()函数正常工作,只需要实现特殊方法__int__(): Rational(7, 2)??
    查看全部
  • python中数学运算 int,float可以做整数和浮点的四则运算以及乘方运算 四则运算不限于int和float,还可以是有理数,矩阵 用 Rational类 表示有理数 class Rational(object): def __init__(self,p,q): self.p=p self.q=q Rational进行加运算,需要正确实现__add__() return Rational(self.p * r.q + self.q * r.p, self.q * r.q)!!
    查看全部
  • a,b=b,a+b a=0,b=1 0)a=0,b=1 1)a=b=1,b=a+b=1 2)a=b=1,b=a+b=2 3)a=b=2,b=a+b=3 4)a=b=3,b=a+b=5
    查看全部
    0 采集 收起 来源:python中 __len__

    2017-03-03

  • __len__ 如果一个类表现的像一个list,要获取多少元素就得用len()函数 len() 函数工作正常,类必须提供一个特殊方法__len__(),返回元素的个数
    查看全部
    0 采集 收起 来源:python中 __len__

    2017-03-03

  • -cmp就是改变了cmp的比较规则 cmp 比较两个对象x和y,如果x < y ,返回负数;x == y, 返回0;x > y,返回正数。 -cmp 返回数改变 self.name和s.name区别 self是默认的一个实例元素 比如list中第一个元素 s是对应的每一个元素 泛指
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-03-22

  • self.name与s.name有什么不同?(来自问答) L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 99)] print sorted(L) 以上部分解析:self就是Student('Tim', 99),而s是Student('Bob', 88),这两个进行__cmp__比较。循环整个L,同理可得出整个排序。
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2017-03-03

  • __cmp__ 对int。str内置数据类型排序时,sorted()按照默认的比较函数cmp排序 对一组student类的实例排序是,需要提供我们自己的特殊方法__cmp__()
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2017-03-03

  • 要把一个类的实例变成str __str__()方法 如果直接敲代码p 似乎不会调用 Python中定义了__str__()用于显示给用户和__repr__(),用于显示给开发人员 定义__repr__的方法: __repr__=__str__
    查看全部
  • 如果要实现cmp非Student类只要在定义__cmp__的时候对s的类型采用isinstance判断就行了 def __cmp__(self, s): if isinstance(s,Student): if self.score<s.score: return 1 elif self.score>s.score: return -1
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-03-22

  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。
    查看全部
  • def cmp_ignore_case(s1, s2): return cmp(s1.lower(),s2.lower()) print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)
    查看全部
  • Python的特殊方法 什么是特殊方法? 在Python中又称为魔术方法,如果对一个person的实例进行打印会得到奇怪的字符串 Python是符合把一个任意的变量变成str? 任何数据类型的实例都有一个特殊的方法。__str__()方法 打印list实际上是print lst.__str__() print p.__str__() person类中并没有定义__str__()为什么可以调用? 如果给person类加上__str__()这个特殊方法,就可以按照自己的想法打印纸person的实例 Python有那些的特殊方法呢? 用于print的__str__()方法 用于len函数的__len__()方法 由于cmp的__cmp__()方法 特点 定义在class中 不需要直接去调用 Python的某些函数或操作符会自动调用对应的特殊方法 正确实现特殊方法 只需要编写用到的特殊方法 有关联的特殊方法都必须要实现他 比如定义了一个getattr(),那么必须同时去编写setattr()delattr()这三个特殊方法
    查看全部
  • 如何去掉`__xxx__`这类的特殊属性,只保留我们自己定义的属性?(问答) filter(lambda s:s[1] != '_',dir(p)) 两种方法 def deleteattr(attr): if attr != '__doc__': return True print filter(deleteattr,dir(p))
    查看全部

举报

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

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