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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • def is_not_empty(s): return s and len(s.strip()) > 0 print filter(lambda s:s and len(s.strip()) > 0, ['test', None, '', 'str', ' ', 'END'])
    查看全部
  • myabs = lambda x: -x if x < 0 else x >>> myabs(-1) 1 >>> myabs(1) 1
    查看全部
  • 返回函数不要引用任何循环变量,或者后续会发生变化的变量。
    查看全部
    0 采集 收起 来源:python中闭包

    2017-05-25

  • 任务 利用import ... as ...,还可以动态导入不同名称的模块。 Python 2.6/2.7提供了json 模块,但Python 2.5以及更早版本没有json模块,不过可以安装一个simplejson模块,这两个模块提供的函数签名和功能都一模一样。 试写出导入json 模块的代码,能在Python 2.5/2.6/2.7都正常运行。 答案代码 try: import json except ImportError: import simplejson as json print json.dumps({'python':2.7})
    查看全部
  • PY中动态导入模块 因为Python是动态语言,解释执行,因此Python代码运行速度慢。 如果要提高Python代码的运行速度,最简单的方法是把某些关键函数用 C 语言重写,这样就能大大提高执行速度。 : StringIO 和 cStringIO 都提供了StringIO这个功能,cStringIO 部分函数是 C 写的,因此 cStringIO 运行速度更快。 利用ImportError错误,我们经常在Python中动态导入模块: try: from cStringIO import StringIO except ImportError: from StringIO import StringIO 上述代码先尝试从cStringIO导入,如果失败了(比如cStringIO没有被安装),再尝试从StringIO导入。这样,如果cStringIO模块存在,则我们将获得更快的运行速度,如果cStringIO不存在,则顶多代码运行速度会变慢,但不会影响代码的正常执行。 try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句
    查看全部
  • 装饰器: 高阶函数:可接受一个函数,在内部包装,返回一个新的函数 def new-fn @语法 @log @performance @transaction
    查看全部
  • map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把list的每个元素都作平方,就可以用map()函数
    查看全部
  • 字符串首字母大写,后面小写 三种方法:1、s.capitalize() 2、s[0].upper s[1:].lower 3、s.title()
    查看全部
  • capitalize() 首字母大写,其余全部小写 upper() 全转换成大写 lower() 全转换成小写 title() 标题首字大写,如"i love python".title() "I love python"
    查看全部
  • @property---这是关键字,固定格式,能让方法当“属性”用。 @score.setter---前面的"score"是@property紧跟的下面定义的那个方法的名字,"setter"是关键字,这种“@方法.setter”是个固定格式与@property搭配使用。 如果只使用@property而不使用@xx.setter,就不能对“属性”赋值,这时,就可以创建一个只读“属性”。
    查看全部
    0 采集 收起 来源:python中 @property

    2018-03-22

  • >>>sorted([36, 5, 12, 9, 21]) [5, 9, 12, 21, 36] 但 sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序,比较函数的定义是,传入两个待比较的元素 x, y,如果 x 应该排在 y 的前面,返回 -1,如果 x 应该排在 y 的后面,返回 1。如果 x 和 y 相等,返回 0。 因此,如果我们要实现倒序排序,只需要编写一个reversed_cmp函数: def reversed_cmp(x, y): if x > y: return -1 if x < y: return 1 return 0
    查看全部
  • def __str__(self): if self.p < self.q: k = self.p else: k = self.q for x in range(1,k+1): if self.p%x==0 and self.q%x == 0: self.p = self.p / x self.q = self.q / x return '%s/%s' % (self.p, self.q)
    查看全部
  • 高阶函数:能够接收函数做参数的函数
    查看全部
  • class Fib(object): def __init__(self,num): fib=[0,1] for i in range(10): fib.append(reduce(lambda x,y: x+y,fib[i:i+2])) self.num=fib[:-2] def __str__(self): return str(self.num) def __len__(self): return len(self.num) f = Fib(10) print f 相当聪明的代码
    查看全部
    0 采集 收起 来源:python中 __len__

    2017-05-24

  • def __cmp__(s1, s2): if s1.score==s2.score: return cmp(s1.name,s2.name) return -cmp(s1.score,s2.score)
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2017-05-24

举报

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

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