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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 调用 reduce(f, [1, 3, 5, 7, 9])时,reduce函数将做如下计算:

    先计算头两个元素:f(1, 3),结果为4;
    再把结果和第3个元素计算:f(4, 5),结果为9;
    再把结果和第4个元素计算:f(9, 7),结果为16;
    再把结果和第5个元素计算:f(16, 9),结果为25;
    由于没有更多的元素了,计算结束,返回结果25。

    上述计算实际上是对 list 的所有元素求和。虽然Python内置了求和函数sum(),但是,利用reduce()求和也很简单。

    reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,计算:

    reduce(f, [1, 3, 5, 7, 9], 100)


    查看全部
  • 不带参数的装饰器函数:是定义一个函数,定义一个新的函数添加新的功能,调用传进来的函数,返回新的函数: def log(f): def new_func(*args,**kw): print(‘%s’%f.__name__) return f(*args,**kw) return new_func 2.带参数的装饰器函数:首先返回一个装饰器函数,再让装饰器函数接受函数并返回函数 def log(pefix): def func_deocorator(f): def new_func(*args,**kw): print(f.__name__) return f(*args,**kw) return new_func return func_decorator
    查看全部
  • iteritems这个是python2得写法,python3是items

    items以列表返回可遍历的(键, 值) 元组数组。

    查看全部
  • *args和**kw都代表不确定的函数变量,即在函数调用时可以选择传入或者不传入参数,都不影响函数运行。

    其中*args将传入对象当成是元组对待;**kw将传入对象当成字典对待。**kw的作用是在函数调用时,可变参数的key,value值打包成dic,传给kw。因此是kw.iterable()。


    查看全部
  • 父类的初始化函数会先执行  ,最后才是 自己的初始化函数

    super(D, self).__init__(a)

    这句话,即先调用了 B C 的初始化,而B C 的初始化 又调用的 A 的 ,A的初始化有print 'init A...' 所以先输出 init A。 接下来  D 调用B C初始化

    那到底是先调用B 或者 C 呢?看这个class D(B, C),右边的参数先传入,即先调用了C。你可以试下B、C换下顺序 就明白了


    查看全部
    1. super函数是用于定义子类的__init__函数, 而BStudent本身没有__init__函数;

    2. BStudent所继承的两个父类中也均未定义__init__函数


    查看全部
  • 1. easy_install

    2. pip or pip3(Python 推荐)


    查看全部
  • 用了@classmethod后,how__many()变为类方法,传入的是类本身,所以cls相当于Person,cls.count相当于Person.count

    查看全部
  • filter()

    空白符:包括'\n',’'\r','\t','  '

    查看全部
  • reduce()

    查看全部
  • map()

    查看全部
  • def calc_prod(lst):

        def lazy_prod():

            x=1

            for i in lst:

                x=x*i

            return x

        return lazy_prod

    f = calc_prod([1, 2, 3, 4])

    print f()

    查看全部
  • lambda: 'A'等价于return'A',相当于一个函数f,那么f()='A'.因此,p1.get_grade=f,p1.get_grade()=f()

    types.MethodType,它接受三个参数,第一,你要绑定的函数,第二,对象,第三,绑定的类 

    方法和函数的区别 方法是在类的内部定义的,只能通过实例化之后使用;而函数是在程序内定义的,可以不必实例化,直接用。举个例子,如果有个方法和函数都叫func,方法的调用方法必须是a.func()(其中,a为类的实例);函数的调用方法为func()

    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问

    查看全部
  • 编写装饰器函数任意参数,用*args **kw
    查看全部

举报

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

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