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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • <div>普通函数改写为匿名函数(<strong>只能有一个表达式</strong>):<br /></div><p>普通函数:<br /></p><p>def prod(x, y):<br />    return x * y<br />print reduce(prod, [2, 4, 5, 7, 12])</p><p>匿名函数:</p><p>print reduce(lambda x,y: x * y, [2, 4, 5, 7, 12])</p><p>将print reduce(prod, [2, 4, 5, 7, 12])中prod改写为lambda x,y(参数):x*y(return的函数计算表达式)<br /></p>
    查看全部
  • def add(x,y,f):

        return f(x)+f(y)

    查看全部
  • def format_name(s):
        return s[0].upper()+s[1:].lower()
        
    print map(format_name, ['adam', 'LISA', 'barT'])


    查看全部
  • 对象三个特性:标识,属性,方法

    查看全部
  • 函数isinstance()可以判断一个变量的类型

    >>> isinstance(s, Person)
    True    # s是Person类型>>> isinstance(s, Student)
    True    # s是Student类型>>> isinstance(s, Teacher)
    False   # s不是Teacher类型


    查看全部
  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,

    注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)。

    查看全部
  • types.MethodType() 把一个函数变为一个方法

    p1.get_grade = types.MethodType(fn_get_grade, p1, Person)


    查看全部
  • >>> def f(x):

    ...     return x*x

    ... 

    >>> print map(f,[1,2,3,4,5,6,7,8,9])#print这里输入

    [1, 4, 9, 16, 25, 36, 49, 64, 81]

    >>> 


    查看全部
  • reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。

    查看全部
  • 方法调用要先实例化,对象调用方法
    查看全部
  • 与实例有关系的是方法
    查看全部
  • 打印日志:@log

    检测性能:@performance

    数据库事务:@transaction

    URL路由:@post(‘/register’)

    查看全部
  • def __init__(self, name, gender, **kw):

            self.name = name

            self.gender = gender

            for k, v in kw.iteritems():

                setattr(self,k,v)



    查看全部

  • 任务

                   

    对字符串排序时,有时候忽略大小写排序更符合习惯。请利用sorted()高阶函数,实现忽略大小写排序的算法。

    输入:['bob', 'about', 'Zoo', 'Credit']
    输出:['about', 'bob', 'Credit', 'Zoo']

                   

    • ?不会了怎么办

    • 对于比较函数cmp_ignore_case(s1, s2),要忽略大小写比较,就是先把两个字符串都变成大写(或者都变成小写),再比较。

      参考代码:

      def cmp_ignore_case(s1, s2):
          u1 = s1.upper()
          u2 = s2.upper()
          if u1 < u2:
              return -1
          if u1 > u2:
              return 1
          return 0
      print sorted(['bob', 'about', 'Zoo', 'Credit'], cmp_ignore_case)


    查看全部
  • L2 = sorted(L1,lambda p1,p2:cmp(p1.name,p2.name))

    查看全部

举报

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

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