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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • Student 的 __cmp__ 方法,让它按照分数从高到底排序,分数相同的按名字排序。 class Student(object): def __init__(self, name, score): self.name = name self.score = score def __str__(self): return '(%s: %s)' % (self.name, self.score) __repr__ = __str__ def __cmp__(self, s): if self.score == s.score: return cmp(self.name, s.name) return -cmp(self.score, s.score) L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 99)] print sorted(L)
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2016-10-20

  • class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender class Teacher(Person): def __init__(self, name, gender, course): super(Teacher,self).__init__(name,gender) self.course = course t = Teacher('Alice', 'Female', 'English') print t.name print t.course
    查看全部
  • 斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。 请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。 需要根据num计算出斐波那契数列的前N个元素。 参考代码: 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 def __str__(self): return str(self.numbers) __repr__ = __str__ def __len__(self): return len(self.numbers) f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2016-10-20

  • 个人还是不太理解为何经过 self.p * r.q + self.q * r.p = 1x2 + 3x1 = 5 self.q * r.q = 3 x 2 = 6 之后 self.p=5 self.q=6 class Rational(object): def __init__(self, p, q): self.p = p self.q = q 注意这个类,有两个初始化的参数p,q ,而下面这个命令 return Rational(self.p * r.q - self.q * r.p , self.q * r.q) 实现参数的传送,p = self.p * r.q - self.q * r.p q = self.q * r.q
    查看全部
  • s.capitalize() s[0].upper()+s[1:].lower()
    查看全部
  • 假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把base=2传进去: def int2(x, base=2): return int(x, base) 这样,我们转换二进制就非常方便了: >>> int2('1000000') 64 >>> int2('1010101') 85 functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2: >>> import functools >>> int2 = functools.partial(int, base=2) >>> int2('1000000') 64 >>> int2('1010101') 85 所以,functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。
    查看全部
    0 采集 收起 来源:python中偏函数

    2018-03-22

  • 通过实验证明,通过对实例的声明可以改变类中的——count值? lass Person(object): __count = 0 @classmethod def how_many(cls): return cls.__count def __init__(self, name): self.name = name Person.__count = Person.__count + 1
    查看全部
  • class Person(object): def __init__(self, name, score): self.name = name self.score = score self.get_grade = lambda: 'A' 实例中并没有出现get_grade变量,看来这里是通过动态的将函数的值返回一个并没有声明的变量
    查看全部
  • python 函数式编程
    查看全部
  • 中偏函数的实质是将制定的参数设置为默认参数,其中指定的参数可以用匿名函数lambda来进行传递 sorted_ignore_case = functools.partial(sorted, cmp=lambda s1, s2: cmp(s1.upper(), s2.upper()))
    查看全部
    0 采集 收起 来源:python中偏函数

    2016-10-19

  • sort 函数是高阶函数,可以接受一个比较函数作为参数,比较函数可以接受两个参数
    查看全部
  • 闭包的返回函数中,不要引用循环变量。不然会导致后续循环变量变化,返回值错误。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-10-18

  • 如何过滤None的?
    查看全部
  • 函数式编程、面向对象编程(类)、模块化编程
    查看全部
    0 采集 收起 来源:课程介绍

    2016-10-18

  • 千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性
    查看全部

举报

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

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