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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。
    查看全部
  • http://www.cnblogs.com/cenyu/p/5713686.html Python的hasattr() getattr() setattr() 函数使用方法详解
    查看全部
  • 直接写Person.__init__(self,name,gender)就行了,不用super(Person, self).__init__(name, gender)
    查看全部
  • 这两个是python中的可变参数。*args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用*args和**kwargs时,必须*args参数列要在**kwargs前
    查看全部
  • %s 字符串 (采用str()的显示) %r 字符串 (采用repr()的显示) %c 单个字符 %b 二进制整数 %d 十进制整数
    查看全部
  • 三种方法:1、s.capitalize() 2、s[0].upper s[1:].lower 3、s.title()
    查看全部
  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。 匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。
    查看全部
  • s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),如下: a = ' 123' a.strip()
    查看全部
  • 一个函数作为变量传入另一个函数时,只传入函数名就可以
    查看全部
  • map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
    查看全部
  • python中完善decorator @decorator可以动态实现函数功能的增加,但是,经过@decorator“改造”后的函数,和原函数相比,除了功能多一点外,有没有其它不同的地方? 在没有decorator的情况下,打印函数名: def f1(x): pass print f1.__name__ 输出: f1 有decorator的情况下,再打印函数名: def log(f): def wrapper(*args, **kw): print 'call...' return f(*args, **kw) return wrapper @log def f2(x): pass print f2.__name__ 输出: wrapper 可见,由于decorator返回的新函数函数名已经不是'f2',而是@log内部定义的'wrapper'。这对于那些依赖函数名的代码就会失效。decorator还改变了函数的__doc__等其它属性。如果要让调用者看不出一个函数经过了@decorator的“改造”,就需要把原函数的一些属性复制到新函数中: def log(f): def wrapper(*args, **kw): print 'call...' return f(*args, **kw) wrapper.__name__ = f.__name__ wrapper.__doc__ = f.__doc__ return wrapper 这样写decorator很不方便,因为我们也很难把原函数的所有必要属性都一个一个复制到新函数上,所以Python内置的functools可以用来自动化完成这个“复制”的任务: import functools def log(f): @functools.wraps(f) def wrapper(*args, **kw): print 'call...' return f(*args, **kw) return wrapper
    查看全部
  • import time, functools def performance(unit): def _warpper(f): @functools.wraps(f) def decorator(*args,**kw): return f(*args,**kw) return decorator return _warpper @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial.__name__
    查看全部
  • 装饰器模式 @performance import time 使用*args,**kw,接收所有参数 def performance(f): def _inner(*args,**kw): print " call "+f.__name__+"() in "+str(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())) return f(*args,**kw) return _inner @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • init函数是实例的初始函数,其中的self指的是要创建的对象。在init函数中只写count,程序无法判断这个属性是对象的还是类的,就像对name属性赋值时要写明self。name一样
    查看全部
  • 注意:map()函数不改变原有的 list,而是返回一个新的 list。
    查看全部

举报

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

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