为了账号安全,请及时绑定邮箱和手机立即绑定

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • 变量可以指向函数 函数名即是一个指向函数的变量 高阶函数即是指能接收函数作为参数的函数
    查看全部
  • python支持的函数式编程
    查看全部
  • 注意t 是Teacher的实例,继承链是: object <- Person <- Teacher
    查看全部
  • 代码:
    查看全部
  • 题目:请把上节的 Person 类属性 count 改为 __count,再试试能否从实例和类访问该属性。 (实例可以访问,类不能访问该属性) 把count改为私有__count,这样实例变量在外部无法修改__count 参考代码: class Person(object): __count = 0 def __init__(self, name): Person.__count = Person.__count + 1 self.name = name print Person.__count p1 = Person('Bob') p2 = Person('Alice') print Person.__count
    查看全部
  • 可见,当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。 可见,千万不要在实例上修改类属性,它实际上并没有修改类属性,而是给实例绑定了一个实例属性。
    查看全部
  • 题目:请定义Person类的__init__方法,除了接受 name、gender 和 birth 外,还可接受任意关键字参数,并把他们都作为属性赋值给实例。 要定义关键字参数,使用 **kw; 除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。 参考代码: class Person(object): def __init__(self, name, gender, birth, **kw): self.name = name self.gender = gender self.birth = birth for k, v in kw.iteritems(): setattr(self, k, v) xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student') print xiaoming.name print xiaoming.job
    查看全部
  • 这张很实用
    查看全部
  • sorted() 是高阶函数,接受一个比较函数。 L1 = [p1, p2, p3] L2 = sorted(L1,lambda p1,p2:cmp(p1.name,p2.name))
    查看全部
  • xiaoming = Person() xiaoming.name = 'Xiao Ming' xiaoming.gender = 'Male' xiaoming.birth = '1990-1-1' 给xiaohong加上的属性不一定要和xiaoming相同: xiaohong = Person() xiaohong.name = 'Xiao Hong' xiaohong.school = 'No. 1 High School' xiaohong.grade = 2 实例的属性可以像普通变量一样进行操作: xiaohong.grade = xiaohong.grade + 1
    查看全部
  • try: import json except ImportError: import simplejson as json print json.dumps({'python':2.7}) 编码:把一个Python对象编码转换成Json字符串 json.dumps() 解码:把Json格式字符串解码转换成Python对象 json.loads()
    查看全部
  • 利用ImportError错误,我们经常在Python中动态导入模块: try: from cStringIO import StringIO except ImportError: from StringIO import StringIO 上述代码先尝试从cStringIO导入,如果失败了(比如cStringIO没有被安装),再尝试从StringIO导入。这样,如果cStringIO模块存在,则我们将获得更快的运行速度,如果cStringIO不存在,则顶多代码运行速度会变慢,但不会影响代码的正常执行。 try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句。
    查看全部
  • 注意到os.path模块可以以若干种方式导入: import os import os.path from os import path from os.path import isdir, isfile
    查看全部
  • t=(t2-t1)*1000 if unit=='ms'else (t2-t1) print'call %s() in %f %s'%(f.__name__,t,unit)
    查看全部
  • 重点:变量名可以指向一个函数。可以通过变量传递函数。完成了高阶函数。
    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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