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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 使用匿名函数,可以不必定义函数名,直接创建一个函数对象,很多时候可以简化代码:

    >>> sorted([1, 3, 9, 5, 0], lambda x,y: -cmp(x,y))
    [9, 5, 3, 1, 0]

    返回函数的时候,也可以返回匿名函数:

    >>> myabs = lambda x: -x if x < 0 else x 
    >>> myabs(-1)
    1
    >>> myabs(1)
    1


    查看全部
  • Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数!

    def f():
        print 'call f()...'    # 定义函数g:
        def g():
            print 'call g()...'    # 返回函数g:
        return g
    x = f()   # 调用f()call f()...
    >>> x   # 变量x是f()返回的函数:<function g at 0x1037bf320>
    >>> x()   # x指向函数,因此可以调用call g()...   # 调用x()就是执行g()函数定义的代码


    查看全部
  • 变量名可以指向函数,函数名本身就是指向函数的变量

    接受函数作为参数的函数叫高阶函数

    查看全部
  • 模块:每一个.py文件都可以称为模块

    包:存储多个.py文件的文件夹(其中必有__init__.py文件)

    完整模块名:包名+模块名

    引用方法:

    [包名]+模块名+引用模块中的内容

    查看全部
  • functools.partial()

    作用:将多参数函数变为少参数函数

    用法:

    新变量名=functools.partial(修改的函数名,想要省去参数[自赋值])


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

    2018-08-17

  • functools:

    作用:将原函数属性值赋予具新功能的新函数

    用法:【位于赋予新功能的函数定义之上与其def并列、使用前需用import引用】

    @functools.赋予新功能的直接函数名+(decorator所引用的函数名参数)

    查看全部
  • s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。

    当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),如下:

    a = '     123'
    a.strip()

    结果: '123'

    a='\t\t123\r\n'
    a.strip()

    结果:'123'

    查看全部
  • lambda:(匿名函数)

    作用:可不写函数名以及return语句

    用法:lambda x:x*x

    lambda为关键字,冒号前x为参数,冒号后x*x为返回语句,也是函数内容

    查看全部
  • 由于 f 可以被调用,所以,f 被称为可调用对象。

    所有的函数都是可调用对象。

    一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。

    def __call__(self, friend):
            print 'My name is %s...' % self.name
            print 'My friend is %s...' % friend


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

    2018-08-16

  • 如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的__slots__来实现。

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

    2018-08-16

  • @property 不懂

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

    2018-08-16

  • 这不是Fraction类的一部分,它是在fractions库中的。利用它你可以快速找到两个数的最大公约数。

    首先导入:

    Python

    1

    from fractions import gcd

    一些例子:

    Python

    1

    2

    3

    4

    >>> gcd(100, 75)

    25

    >>> gcd(221, 234)

    13


    查看全部
  • 斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)

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

    2018-08-16

  • 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。

    要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数。


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

    2018-08-16

  • 对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__()

    def __cmp__(self, s):
            if self.name < s.name:
                return -1
            elif self.name > s.name:
                return 1
            else:
                return 0

    上述 Student 类实现了__cmp__()方法,__cmp__用实例自身self和传入的实例 s 进行比较,如果 self 应该排在前面,就返回 -1,如果 s 应该排在前面,就返回1,如果两者相当,返回 0。

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

    2018-08-16

举报

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

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