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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。除了可以定义实例的属性外,还可以定义实例的方法。

    实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的


    查看全部
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。但是,如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义。

    查看全部
  • 除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。

    查看全部
  • 要定义关键字参数,使用 **kw

    查看全部
  • 创建实例使用 类名+()

    查看全部
    1. 将所有代码放入一个py文件:无法维护

    2. 如果将代码分拆放入多个py文件,好处:同一个名字的变量互不影响

      区分包和普通目录:包下面有个_init_.py(每层都要有)

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

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

    2019-03-18

  • import functools

    sorted_ignore_case = functools.partial(1函数,其余方法


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

    2019-03-18

  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。

    查看全部
  • 要让 @log 自适应任何参数定义的函数,可以利用Python的 *args 和 **kw,保证任意个数的参数总是能正常调用:

    def log(f):
        def fn(*args, **kw):
            print 'call ' + f.__name__ + '()...'
            return f(*args, **kw)
        return fn

    现在,对于任意函数,@log 都能正常工作。


    查看全部
  • map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

    注意:map()函数不改变原有的 list,而是返回一个新的 list。

    利用map()函数,可以把一个 list 转换为另一个 list,只需要传入转换函数。


    查看全部
  • 装饰器的作用是不用修改原函数的代码

    查看全部
  • 返回函数不要引用任何环境变量,或者后续会发生变化的变量。

    def f(j):
        def g():
            return j*j
        return g

    它可以正确地返回一个闭包g,g所引用的变量j不是循环变量,因此将正常执行。

    在count函数的循环内部,如果借助f函数,就可以避免引用循环变量i。


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

    2019-03-17

  • map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回

    注意:map()函数不改变原有的 list,而是返回一个新的 list

    查看全部
  • 注意哪里有参数

    def calc_sum(lst):
        def lazy_sum():
            return sum(lst)
        return lazy_sum

    查看全部

举报

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

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