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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 私有属性不可以直接被调用,但可以通过方法来调用,包括类方法和实例方法,所以如果要想调用出私有属性的值,定义方法就可以

    查看全部
  • lambda: 'A'等价于return'A',相当于一个函数f,那么f()='A'.因此,p1.get_grade=f,p1.get_grade()=f()
    就是这个意思,但没有说全
    p1.get_grade是属性,只不过这里的属性是一个函数对象,即f
    p1.get_grade()是方法,前面的p1就是调用这个方法的对象,即实例,整句来说就是实例方法

    查看全部
  • >>> import functools
    >>> int2 = functools.partial(int, base=2)
    >>> int2('1000000')
    64

    学习functools.partial的使用方法

    查看全部
    0 采集 收起 来源:python中偏函数

    2018-04-19

  • functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2

    查看全部
    0 采集 收起 来源:python中偏函数

    2018-04-19

  • 理解函数默认值的设定:在函数定义时增加一个固定值作为参数,这个参数就可以被当成函数的参数默认值

    假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把base=2传进去:

    def int2(x, base=2):
        return int(x, base)


    查看全部
    0 采集 收起 来源:python中偏函数

    2018-04-19

  • functools.wraps应该作用在返回的新函数上,而不用考虑定义的函数名

    查看全部
  • functools.wraps 应该作用在返回的内层的新函数上,而不是外层的函数名,外层函数都会执行内层函数而返回内层函数的函数名。

    查看全部
  • 可见,由于decorator返回的新函数函数名已经不是'f2',而是@log内部定义的'wrapper'。这对于那些依赖函数名的代码就会失效。decorator还改变了函数的__doc__等其它属性。如果要让调用者看不出一个函数经过了@decorator的“改造”,就需要把原函数的一些属性复制到新函数中:

    def log(f):
        def wrapper(*args, **kw):
            print 'call...'
            return f(*args, **kw)
        wrapper.__name__ = f.__name__
        wrapper.__doc__ = f.__doc__
        return wrapper


    查看全部
  • 带参数的decorator,因为加入了参数,所以需要增加一层嵌套

    查看全部
  • functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。
    查看全部
    0 采集 收起 来源:python中偏函数

    2018-04-19

  • def __cmp__(self, s):

            if self.score == s.score:

                return cmp(self.name, s.name)

            return -cmp(self.score, s.score)

    如此简洁!!!!

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

    2018-04-19

  • 装饰函数就是利用在一个新函数名上,利用接收函数的变量为新函数的变量,同时增加一些新的功能如打印调用函数名等,然后返回接收函数,再返回新函数,这样定义的装饰函数就能够返回一个新函数,这个新函数在接收函数的基础上增加了一些功能,而没有改变接收函数的代码。

    查看全部
  • Python中安装三方模块

    1:Python提供的模块管理工具有-easy_install和-pip(已内置到2.7.9版本)

    2:使用pip安装三方模块,pip install 模块名,然后在所需的位置导入就可以使用了。

    3:可以使用pipy.python.org网站来查找三方模块的名字。

    查看全部
  • Python中使用__future__

    1:在低版本的Python中,导入__future__模块,可以使用更高版本中的方法。

    查看全部
  • Python中动态导入模块

    1:cStringIO中的StirngIO方法是经过C部分重写的,所以比StirngIO中的StringIO执行要快。

    2:要动态导入,可以用

         try:

            想优先导入的

         except  ImportError:

            优先导入的不存在,再导入这里的

    3:模块也可以有别名。

    查看全部

举报

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

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