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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • a, b = b , a + b 简洁之美

    查看全部
    1 采集 收起 来源:python中 __len__

    2018-06-20

  • S是这个实例的参数,当你创建这个实例的时候,def __cmp__(self, s):  表示你在调用对应方法的时候需要填写一个叫S 的参数

    _cmp__是一种特殊方法 利用这个,对所需内容进行排序。例如此题。是对学生成绩先按照成绩排序由高到低,如果成绩相同就按照姓名首字母顺序进行排序。 其中要注意的是最后一行的‘-’号 。因为cmp是由低到高,加上-号就由高到底了

    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-06-20

  • __str__()用于显示给用户,而__repr__()用于显示给开发人员。如果在交互式命令行下 直接敲变量 s 就会返回<main.Person object at XXX> 这样的东西如果你配置了__repr__ = __str__你交互式命令行下打print s 和 直接敲变量 s 的返回值是一样的 都是(Student: Bob,male,88)...

    即写了这句话:__repr__=__str__这个在CMD窗口直接敲 函数名  不需要敲print 函数名 也可以打印出来,

    查看全部
  • 包就是文件夹

    区分包和普通目录:包下面必须有一个__init__.py文件

    查看全部
    1. 函数式编程

    2. 模块

    3. 面向对象编程

    4. 定制类

      学习目标:    

    5. 掌握函数式编程和面向对象编程

    6. 编写模块化程序

    查看全部
    0 采集 收起 来源:课程介绍

    2018-06-19

  • 2-3 phthon把函数作为参数

    https://img1.sycdn.imooc.com//5b28ba9700018cff14480252.jpg

    查看全部
  • Python的特殊方法

    1:特殊方法定义在class中

    2:不需要直接调用,Python中的一些函数或者操作符会调用到特殊方法。

    3:只需定义用到的特殊方法。

    4:有关联性的特殊方法若实现了其中一个就必须全部实现(如getattr、setattr、deletattr)


    查看全部
  • 传入**kw 即可传入任意数量的参数,并通过 setattr() 绑定属性。

    Pythons使用kw.items

    filter函数的应用。filter(函数,可迭代的对象),可迭代对象中的元素代入第一个函数,函数返回值为True,则选择,否则过滤,这就是fliter函数的功能

    查看全部
  • python 中的多重继承

    一个子类可以有多个父类,同时具有所继承的父类的功能

    例如:A->B-D    A->C-D   类D同时继承了B 和C

    D 同时继承自 B 和 C,也就是 D 拥有了 A、B、C 的全部功能。多重继承通过 super()调用__init__()方法时,A 虽然被继承了两次,但__init__()只调用一次:

    多重继承的目的是从两种继承树种分别选择并继承出子类,以便功能的组合使用


    查看全部
  • 这种行为称为多态。也就是说,方法调用将作用在 x 的实际类型上。s 是Student类型,它实际上拥有自己的 whoAmI()方法以及从 Person继承的 whoAmI方法,但调用 s.whoAmI()总是先查找它自身的定义,如果没有定义,则顺着继承链向上查找,直到在某个父类中找到为止。

    class Book(object):
        def whoAmI(self):
            return 'I am a book'

    这是动态语言和静态语言(例如Java)最大的差别之一。动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。


    查看全部
    0 采集 收起 来源:python中多态

    2018-06-18

  • 判断s是否是某一类型,返回Boolean
    isinstance(s, Person)

    s 是Student类型,不是Teacher类型,这很容易理解。但是,s也是Person类型,因为Student继承自Person,虽然它比Person多了一些属性和方法,但是,把 s 看成Person的实例也是可以的。

    查看全部
  • import time

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

    @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 ft(x):
            print 'call ' + f.__name__ + '()' + 'in'
            print time.gmtime()
            return f(x)
        return ft

    @performance
    def factorial(n):
        return reduce(lambda x,y: x*y, range(1, n+1))

    print factorial(10)

    查看全部
  • 太难了;

        真的太难了;

            一点儿也不简单!

    查看全部
  • def cmp_ignore_case(s1, s2):

        if s1.title() < s2.title():

            return -1

        if s1.title() > s2.title():

            return 1

    print ['about', 'bob', 'Credit', 'Zoo']


    查看全部

举报

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

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