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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 任务
    查看全部
  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。

    匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。


    查看全部
  • t = (t2 - t1) * 1000 if unit=='ms' else (t2 - t1)

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

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

    2018-09-02

  • def calc_prod(lst):

        def pro():

         return reduce(lambda x, y:x * y,lst)

        return pro

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

    print f()


    查看全部
  • +,-,*,/,% 加减乘除,求余数

    查看全部
  • import math


    def is_sqr(x):

        a=math.sqrt(x)

        b=int(a)

        if  b*b==x:

            return x

         

    print filter(is_sqr, range(1, 101))

    更容易理解些

    查看全部
  • 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self

    查看全部
  • Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

    注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

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

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

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


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

    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高

    查看全部
  • def log(f):
        def wrapper(*args, **kw):
            print 'call...'
            return f(*args, **kw)
        return wrapper
    @log
    def f2(x):
        pass
    print f2.__name__
    输出:wrapper

    可见返回的是装饰器内部的新函数名,同样函数的__doc__等属性也变成了新函数的

    import functools
    def log(f):
        @functools.wraps(f)
        def wrapper(*args, **kw):
            print 'call...'
            return f(*args, **kw)
        return wrapper

    利用functoos来自动化复制,但是原本函数的实参信息无法得到,因为装饰器中是*args,**kwargs

    查看全部
  • def log(prefix):
        def log_decorator(f):
            def wrapper(*args, **kw):
                print '[%s] %s()...' % (prefix, f.__name__)
                return f(*args, **kw)
            return wrapper
        return log_decorator
    
    @log('DEBUG')
    def test():
        pass
    print test()

    执行结果

    [DEBUG] test()...
    None

    相当于

    log_decorator = log('DEBUG')
    my_func = log_decorator(my_func)

    my_func = log('DEBUG')(my_func)


    查看全部
  • 对一个实例调用类的属性也是可以访问的,所有实例都可以访问到它所属的类的属性.

    把 Person.count=Person.count+1放在类里面,使实例创建时count自动+1

    查看全部

举报

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

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