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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。
    查看全部
  • 1.Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问; 2.但是,如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了,以"__xxx__"定义的属性在Python的类中被称为特殊属性,有很多预定义的特殊属性可以使用,通常我们不要把普通属性用"__xxx__"定义.
    查看全部
  • sorted()函数可对list进行排序
    查看全部
  • filer()函数是python内置的另一个有用的高阶函数,filer()函数接收一个函数f和一个list,这个函数f的作用是对每个元素进行判断,返回Ture和False,filer()根据判断结果自动过滤掉不符合条件的元素,返回由符合元素组成新的list
    查看全部
  • __cmp__ 如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__(): class Student(object): def __init__(self, name): self.name = name def __str__(self): return '(%s)' % (self.name) __repr__ = __str__ def __cmp__(self, s): if self.name < s.name: return -1 elif self.name > s.name: return 1 else: return 0 __cmp__用实例自身self和传入的实例 s 进行比较,如果 self 应该排在前面,就返回 -1,如果 s 应该排在前面,就返回1,如果两者相当,返回 0。 >>> L = [Student('Tim'), Student('Bob'), Student('Alice')] >>> print sorted(L) [(Alice), (Bob), (Tim)] 例:请修改 Student 的 __cmp__ 方法,让它按照分数从高到底排序,分数相同的按名字排序。 class Student(object): def __init__(self, name, score): self.name = name self.score = score def __str__(self): return '(%s: %s)' % (self.name, self.score) __repr__ = __str__ def __cmp__(self, s): if self.score == s.score: return cmp(self.name, s.name) return -cmp(self.score, s.score)
    查看全部
  • reduce()也是python内置的一个高阶函数。reduce()函数接收的参数和map()类似,一个函数f,一个list,但行为和map()不同。reduce()传入的函数f必须接收两个参数,reduce()对list的每个函数反复调用函数f,并返回最终结果。
    查看全部
  • 可以用 dir() 函数获取变量的所有属性,方法也是实例的一个属性
    查看全部
  • 可以用 type() 函数获取变量的类型,它返回一个 Type 对象:
    查看全部
  • __str__和__repr__ 如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self): return '(Person: %s, %s)' % (self.name, self.gender) 现在,在交互式命令行下用 print 试试: >>> p = Person('Bob', 'male') >>> print p (Person: Bob, male)
    查看全部
  • map()是python内置的高阶函数,它接收一个函数f和一个list,并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回。
    查看全部
  • 此处的list中包含的是函数变量
    查看全部
    0 采集 收起 来源:python中闭包

    2016-03-08

  • def format_name(s): return s[0].upper()+s[1:].lower() #函数参数list中的每一个元素都会作为format_name的函数参数传入一次,s[0]代表字符串的首字母,和list中提取首元素一样 print map(format_name,['adam', 'LISA', 'barT'])
    查看全部
  • 使用__future__ 例如,Python 2.7的整数除法运算结果仍是整数: >>> 10 / 3 3 但是,Python 3.x已经改进了整数的除法运算,“/”除将得到浮点数,“//”除才仍是整数: >>> 10 / 3 3.3333333333333335 >>> 10 // 3 3 要在Python 2.7中引入3.x的除法规则,导入__future__的division: >>> from __future__ import division >>> print 10 / 3 3.3333333333333335
    查看全部
  • 在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性:
    查看全部
  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-03-07

举报

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

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