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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • 它实际上拥有自己的 whoAmI()方法以及从 Person继承的 whoAmI方法,但调用 s.whoAmI()总是先查找它自身的定义,如果没有定义,则顺着继承链向上查找,直到在某个父类中找到为止。

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

    2019-08-08

  • 最大公约数方程解释

    def gcd(x,y):

        if y==0:

            return x

        else:

            return gcd(y,x%y)

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

    查看全部
  • Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了。要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现。

    在Python 3.x中,字符串统一为unicode,不需要加前缀 u,而以字节存储的str则必须加前缀 b。请利用__future__的unicode_literals在Python 2.7中编写unicode字符串。

    from __future__ import unicode_literals


    s = 'am I an unicode?'

    print isinstance(s, unicode)


    查看全部
  • python之定义类并创建实例

    类名以大写字母开头,紧接着是object,表示该类是从哪个类继承下来的。

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

    import functools


    print sorted(['bob', 'about', 'Zoo', 'Credit'],  key = str.lower, reverse = False)


    sorted_ignore_case = functools.partial(sorted,cmp=lambda a,b:cmp(a.upper(), b.upper()))

    print sorted_ignore_case(['bob', 'about', 'Zoo', 'Credit'])


    sorted_ignore_case = functools.partial(sorted,key=str.lower,reverse=True)

    print sorted_ignore_case(['bob', 'about', 'Zoo', 'Credit'])


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

    2019-08-08

  • python中完善decorator

    import time, functools


    def performance(unit):

        def perf_decorator(f):

            @functools.wraps(f)

            def fn(*args, **kw):

                t1 = time.time()

                r = f(*args, **kw)

                t2 = time.time()

                differ = t2-t1 if unit != 'ms' else (t2-t1)*1000

                print 'exec %s time %f %s' % (f.__name__,differ,unit)

                return r

            return fn

        return perf_decorator


    @performance('ms')

    def factorial(n):

        return reduce(lambda x,y: x*y, range(1, n+1))


    print factorial.__name__


    查看全部
  • import time


    def performance(unit):

        def perf_decorator(f):

            def fn(*args, **kw):

                t1 = time.time()

                r = f(*args, **kw)

                t2 = time.time()

                differ = t2-t1 if unit != 'ms' else (t2-t1)*1000

                print 'call %s() time %f %s' % (f.__name__,differ,unit)

                return r

            return fn

        return perf_decorator


    @performance('s')

    def factorial(n):

        time.sleep(1.123)

        return reduce(lambda x,y: x*y, range(1, n+1))


    print factorial(10)


    查看全部
  • 对于无参数的装饰器(使用时如:@say),其装饰器函数的参数是要被装饰的函数对象名;而对于有参数的装饰器在调用时使用的是应用的参数,如:@say(argv)的argv,已不再是要被装饰的函数对象名,所以必须在内部再定义一个函数来接收要被装饰的函数对象。

    查看全部
  • import time


    def performance(f):

        def fn(*args, **kw):

            print 'call ' + f.__name__ + '() in ' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 

            return f(*args, **kw)

        return fn


    @performance

    def factorial(n):

        return reduce(lambda x,y: x*y, range(1, n+1))


    print factorial(10)


    查看全部
  • print x

    默认输出x的str属性 既 print str(x)

    repr包括x的连带的函数,或库信息 

    print repr(x)或print x.__repr__()

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

    2019-08-07

  • lambda中接if elif else,采用多层嵌套相当于3个if

    lambda x: 1 if xxx else(2 if xxx else(3 if xxx) )

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

    2019-08-07

  • sorted 对比实例时 先使用sorted中的key缺省就忽略, 如果有就忽略实例方法__cmp__ ,采用默认对比方式,如果有__cmp__则忽略sorted的cmp

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

    2019-08-07

  • 求最大公约数方法2

    相减法
    有两整数a和b:
    ① 若a>b,则a=a-b
    ② 若a<b,则b=b-a
    ③ 若a=b,则a(或b)即为两数的最大公约数
    ④ 若a≠b,则再回去执行①
    例如求27和15的最大公约数过程为:
    27-15=12( 15>12 ) 15-12=3( 12>3 )
    12-3=9( 9>3 ) 9-3=6( 6>3 )
    6-3=3( 3==3 )
    因此,3即为最大公约数

    查看全部
  • 求最大公约数算法:

    (1)辗转相除法

    有两整数a和b:

    ① a%b得余数c

    ② 若c=0,则b即为两数的最大公约数

    ③ 若c≠0,则a=b,b=c,再回去执行①

    例如求27和15的最大公约数过程为:

    27÷15 余1215÷12余312÷3余0因此,3即为最大公约数


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

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

    输出格式为:函数(预置函数名,list)


    查看全部

举报

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

微信扫码,参与3人拼团

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

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