为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • 使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f) 这样的代码。

    def log(f):
        def fn(x):
            print 'call ' + f.__name__ + '()...'
            return f(x)
        return fn
        
        @log
    def factorial(n):
        return reduce(lambda x,y: x*y, range(1, n+1))
    print factorial(10)


    查看全部
  • 匿名函数:  lambda x:~  或者 lambda x,y:~  (其中x和y是匿名函数的传参)

    例如:print filter(lambda s: s and len(s.strip())>0 ,['test', None, '', 'str', '  ', 'END'])

    或者例如:>>>maybs=lambda x: x if x>0 else -x

    查看全部
  • 所有的函数都是可调用对象。

    在Python中,函数也是对象,对象和函数的区别并不显著

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

    2019-09-10

  • def calc_prod(lst):
        def lazy():
            def f(x,y):
                return x*y
            return reduce(f,lst,1)
        return lazy
    f = calc_prod([1, 2, 3, 4])
    print f()

    #1*2*3*4   

    查看全部
  • sorted([~],f)    #sorted函数调用f,并对list[~]进行排序

    cmp()函数是对参数进行大小比较,返回值为1(前大后小)  -1(前小后大)  0(一样大)


    查看全部
  • s.strip(rm)删除s字符串开头、结尾处的rm序列的字符,当rm为空时,删除空白符('\n','\r','\t,' ')

    >>>return x and x>0     # 判断并返回x的值

    filter(f,range(1,101))       #在1到100中返回符合反函数f的元素

    查看全部
  • 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。

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

    2019-09-10

  • __slots__():指明类所允许添加的属性列表,限制类所能拥有的属性。

    class Person(object):
        
        __slots__ = ('name', 'gender')
        
        def __init__(self, name, gender):
            self.name = name
            self.gender = gender
            
    class Student(Person):
        
        __slots__ = ('score')
        
        def __init__(self, name, gender, score):
            super(Student, self).__init__(name, gender)
            self.score = score


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

    2019-09-09

  • @property:使实例方法可以当作属性直接调用,用于取属性值。

    @s.setter:使实例方法s可以当作属性直接调用,用于直接给属性赋值,同时可以执行一些操作。

    class Student(object):
        def __init__(self, name, score):
            self.name = name
            self.__score = score
            
        @property
        def score(self):
            return self.__score
            
        @score.setter
        def score(self, score):
            if score < 0 or score > 100:
                raise ValueError('invalid score')
            self.__score = score
    
    s = Student('Bob', 59)
    print s.score        # 59
    s.score = 69
    print s.score        # 69


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

    2019-09-09

  • 版本3+导入reduce

    执行    from functools import reduce

    查看全部
  • 安装第三方模块

    pip install XXX.py

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


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

    upper():将字母变成大写

    lower():将字母变成小写



    查看全部
  • sqrt():求平方根函数

    fds():求绝对值函数


    查看全部
  • 函数式编程: 特点:把计算机视为函数而非指令

    查看全部
  • Student类的__slots__只需要包含Person类不包含的score属性即可。

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

    2019-09-08

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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