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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 因为 add() 函数需要传入两个参数,但是 @log 写死了只含一个参数的返回函数。 要让 @log 自适应任何参数定义的函数,可以利用Python的 *args 和 **kw,保证任意个数的参数总是能正常调用: def log(f): def fn(*args, **kw): print 'call ' + f.__name__ + '()...' return f(*args, **kw) return fn 现在,对于任意函数,@log 都能正常工作。
    查看全部
  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。 匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。 使用匿名函数,可以不必定义函数名,直接创建一个函数对象,很多时候可以简化代码:
    查看全部
  • 比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。通过重新定义+-1就可以实现倒序排
    查看全部
  • sorted()可对list进行排序(默认低到高)
    查看全部
  • s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),如下: a = ' 123' a.strip() 结果: '123' a='\t\t123\r\n' a.strip() 结果:'123'
    查看全部
  • filter()
    查看全部
  • map();upper;lower;reduce()
    查看全部
  • 这说明在继承链上,一个父类的实例不能是子类类型,因为子类比父类多了一些属性和方法。 s继承了P,则实例P不能使子类类型,但实例s还是父类类型
    查看全部
  • 在count函数的循环内部,如果借助f函数,就可以避免引用循环变量i。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-01-05

  • 必须返回函数
    查看全部
  • **kw是关键字参数,用于字典 iteritems()用于字典kw的遍历 setattr(self, k, v)就等价于self.k = v 综上就是,遍历dict kw 中的属性,给每个属性设置了属性值 type()函数获取变量的类型,返回一个type对象,dir()函数获取变量的所有属性,getattr()获取对象属性,不包含特殊的属性 setattr()设置对象的属性
    查看全部
  • Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。看例子: class Person(object): def __init__(self, name): self.name = name self._title = 'Mr' self.__job = 'Student' p = Person('Bob') print p.name # => Bob print p._title # => Mr print p.__job # => Error Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Person' object has no attribute '__job'
    查看全部
  • 1.实例属性是每个实例各自拥有,相互独立,而类属性有且只有一份 2.访问类属性可直接访问:print Person.address,不需要创建实例 3.类的每个实例都可访问类的属性
    查看全部
  • 1.以双下划线开头的属性“__job”不能直接被外部访问,以但下划线开头的属性“_xxx”虽然可以被外部访问,但按照习惯,他们不应被外部访问 2.“__xxx__”这样形式定义的属性为类的特殊属性,可以被外部访问
    查看全部
  • 初始化实例参数用_init_方法 代码:class Person(object): def __init__(self, name, gender, birth, **kw): #**kw用来定义关键字参数 self.name = name self.gender = gender self.birth = birth for k, v in kw.iteritems(): #遍历字典,返回对象 setattr(self, k, v) #设置属性,相当于self.k=v xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student') print xiaoming.name print xiaoming.job
    查看全部

举报

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

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