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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • **kw任意关键字参数,此为dict类型,

    dict{k:v}

    k:key

    v:value

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

    传递给函数 who_am_i(x)的参数 x不一定是 Person 或 Person 的子类型。任何数据类型的实例都可以,只要它有一个whoAmI()的方法即可:

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


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

    2018-08-15

  • 用 super(Student, self).__init__(name, gender) 去初始化父类

    函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。

    查看全部
  • 最赞回答 / 孤独的小猪                            

    score后面要逗号,说明__slots__接受的参数是元组格式,而元组,如果是一个元素的话,后面以逗号结尾


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

    2018-08-15

  • 因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:

    def f(x):
        return x*x
    print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

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

    由于list包含的元素可以是任何类型,因此,map() 不仅仅可以处理只包含数值的 list,事实上它可以处理包含任意类型的 list,只要传入的函数f可以处理这种数据类型。

    查看全部
  • 能接受函数作为参数的就是高阶函数

    查看全部
  • <table><tbody><tr class="firstRow"><td><code>super</code><code>(Student,</code><code>self</code><code>).__init__()</code></td></tr></tbody></table><p>这是对继承自父类的属性进行初始化。而且是用父类的初始化方法来初始化继承的属性。</p><p>也就是说,子类继承了父类的所有属性和方法,父类属性自然会用父类方法来进行初始化。</p><p>当然,如果初始化的逻辑与父类的不同,不使用父类的方法,自己重新初始化也是可以的。</p><p><br /></p>
    查看全部
    0 采集 收起 来源:python中 __slots__

    2020-09-11

  • strip()函数:

    作用:删除字符串首尾指定字符,若为空,则删除空白字符

    使用方法:

    字符串[名].strip([随意存在字符])

    延伸:

    lstrip():删除开头--

    rstrip():删除结尾--

    查看全部
  • filter()函数

    作用:过滤接受列表中的元素,组成新列表,其中,接受的f,其内容便是过滤列表元素。

    使用方法:

    filter(f,列表)



    查看全部
  • 高阶函数中函数作为参数调用时,只需输入函数名

    查看全部
  • reduce()函数:(内置高阶函数)

    作用:不断调用列表中元素利用f进行计算,f接受两个参数

    使用方法:reduce(f,列表,[初始计算值])

     凡是带[]中的参数可省

    例如:

    def f(x, y):
        return x + y


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


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

    查看全部
  • python内置的@语法就是为了简化装饰器调用

    @new_fn

    def f1(x):

        return x*2


    def f1(x):
        return x*2

    f1 = new_fn(f1)

    装饰器的作用:

    打印日志:@log

    检测性能:@performance

    数据库事务:@transaction

    URL路由:@post('/register')

    查看全部

  • vvvvv

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

    查看全部
  • >>> map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])
    [1, 4, 9, 16, 25, 36, 49, 64, 81]

    通过对比可以看出,匿名函数 lambda x: x * x 实际上就是:

    def f(x):
        return x * x

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

    查看全部
  • 内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)

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

    2018-08-15

举报

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

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