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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 概念:python中的返回函数,顾名思义就是在函数体里再自定义函数,返回值为当前的这个函数,如a函数嵌套b函数 最后返回b函数,而调用函数a,c=a() 结果就是c=b() 应用:返回函数可以把一些计算延迟执行,由于可以返回函数,我们在后续代码里就可以决定到底要不要调用该函数 函数:lambda x, y : x * y表达式的意思是创建一个函数,带两个参数x和y,返回x乘y
    查看全部
  • 概念:sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。 应用:数值类型和字符类型(字符串默认按照ASCII大小来比较)的排序和倒序 函数方法:sorted(list,f),cmp(x,y)比较两个大小返回值0,1,-1 同理sorted()里的比较方法
    查看全部
  • 概念:filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list 应用:利用filter(),可以完成很多有用的功能,例如,删除 None 或者空字符串 方法和函数:strip()字符串方法, s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符,当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ');sqrt()求根函数,math.sqrt(x) 疑问:return s and len(s.strip()) > 0 解答:当s等于0,None,“”表示逻辑的False(python的布尔运算规则)
    查看全部
  • 概念:reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数,一个函数 f,一个list,reduce()对list的每个元素反复调用函数f,并返回最终结果值 对比map:map函数f只能传入一个参数;reduce()函数f必须传入两个参数,reduce()还可以接收第3个可选参数,作为计算的初始值 新函数:reduce(f,list) f是函数且必须传入2个参数,list是数组 原理:#map调用函数参数 (原理是对每个元素执行相同的操作 返回新的list);#reduce调用函数参数(原理是第一个元素与第二个元素的运算的结果与第三个元素的运算...依次进行下去直到结束)
    查看全部
  • 包下面必须有一个_init_.py
    查看全部
  • class Person(object): def __init__(self, name, gender, **kw): self.name = name self.gender = gender for k,v in kw.iteritems(): setattr(self,k,v) p = Person('Bob', 'Male', age=18, course='Python') print p.age print p.course
    查看全部
  • import json class Students(object): def __init__(self, lists): self.lists = lists def read(self): return self.lists s = Students('["Tim", "Bob", "Alice"]') print json.load(s)
    查看全部
    0 采集 收起 来源:python中多态

    2018-03-22

  • 概念:map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回 新函数:map(f,list) f是函数名,list是数组(list包含的元素可以是任何类型) 理解:map()函数中的list元素是按顺序进入f参数函数的 注意:在py3中需要注意使用 list()转换map()
    查看全部
  • 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-03-22

  • 对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__()
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2017-12-09

  • dir(s) ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'gender', 'name', 'score', 'whoAmI'] >>> getattr(s, 'name') # 获取name属性 'Bob' >>> setattr(s, 'name', 'Adam') # 设置新的name属性 >>> s.name 'Adam'
    查看全部
  • 用 dir() 函数获取变量的所有属性:对于实例变量,dir()返回所有实例属性,包括`__class__`这类有特殊意义的属性。注意到方法`whoAmI`也是 s 的一个属性。 如何去掉`__xxx__`这类的特殊属性,只保留我们自己定义的属性?回顾一下filter()函数的用法。dir()返回的属性是字符串列表,如果已知一个属性名称,要获取或者设置对象的属性,就需要用 getattr() 和 setattr( )函数了:
    查看全部
  • 像这样,D 同时继承自 B 和 C,也就是 D 拥有了 A、B、C 的全部功能。多重继承通过 super()调用__init__()方法时,A 虽然被继承了两次,但__init__()只调用一次: 多重继承的目的是从两种继承树中分别选择并继承出子类,以便组合功能使用。
    查看全部
  • class D(B, C): def __init__(self, a): super(D, self).__init__(a) print 'init D...'
    查看全部
  • Python是动态语言,所以,传递给函数 who_am_i(x)的参数 x 不一定是 Person 或 Person 的子类型。任何数据类型的实例都可以,只要它有一个whoAmI()的方法即可:
    查看全部
    0 采集 收起 来源:python中多态

    2017-12-08

举报

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

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