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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • >>> class attribute(): ... def __init__(self): ... self.attribute_1='i am attribute 1' ... self.attribute_2='i am attribute 2' ... >>> result=attribute() >>> dir(result) ['__doc__', '__init__', '__module__', 'attribute_1', 'attribute_2'] >>> getattr(result,'attribute_1') 'i am attribute 1' >>> getattr(result,'attribute_3') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: attribute instance has no attribute 'attribute_3' >>> getattr(result,'attribute_3','i am attribute 3') 'i am attribute 3' >>> dir(result) ['__doc__', '__init__', '__module__', 'attribute_1', 'attribute_2'] >>> getattr(result,'attribute_2') 'i am attribute 2' >>> setattr(result,'attribute_2','i am changed') >>> getattr(result,'attribute_2') 'i am changed' >>> setattr(result,'attribute_4','i am new one') >>> dir(result) ['__doc__', '__init__', '__module__', 'attribute_1', 'attribute_2', 'attribute_4']
    查看全部
  • setattr(object,name,value): 作用:设置object的名称为name(type:string)的属性的属性值为value,属性name可以是已存在属性也可以是新属性。 getattr(object,name,default): 作用:返回object的名称为name的属性的属性值,如果属性name存在,则直接返回其属性值;如果属性name不存在,则触发AttribetError异常或当可选参数default定义时返回default值。
    查看全部
  • Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。 默认参数一定要用不可变对象,如果是可变对象,运行会有逻辑错误! 要注意定义可变参数和关键字参数的语法: *args是可变参数,args接收的是一个tuple; **kw是关键字参数,kw接收的是一个dict。 以及调用函数时如何传入可变参数和关键字参数的语法: 可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3)); 关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。 使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
    查看全部
  • @语法 装饰器
    查看全部
  • sss
    查看全部
  • import time t = time.time() 取出系统当前时间
    查看全部
  • 带参数decorator 1.函数本身就需要传入'INFO'或'DEBUG'这样的参数 @log('DEBUG') def my_func(): pass 2.带参数的log函数首先返回一个decorator函数,再让这个decorator函数接收my_func并返回新函数(3层嵌套的decorator)
    查看全部
  • ,返回函数不要引用任何循环变量,或者后续会发生变化的变量。
    查看全部
    0 采集 收起 来源:python中闭包

    2015-03-30

  • L2 = sorted(L1,lambda p1,p2:cmp(p1.name,p2.name)) L2 = sorted(L1,cmp = lambda x, y: cmp(x.name, y.name))
    查看全部
  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。 闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。举例如下:
    查看全部
    0 采集 收起 来源:python中闭包

    2015-03-30

  • reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
    查看全部
  • map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
    查看全部
  • time.time() time() -> floating point number 返回当前时间的时间戳
    查看全部
  • %是格式化的意思,%s是格式化字符串,%f是格式化浮点数,%c是格式化字符 >>>print 'call %s() in %fs' % (f.__name__, (t2 - t1)) 这句话的意思是把f.__name__插入到了%s这个位置,(t2-t1)计算后的值插入到了%f这个位置
    查看全部
  • 1.def fn(x): print 'call ' + f.__name__ + '()...' return f(x) 这个代码块说明了新的函数所需要实现的功能,并将其定义为fn() 2.def log(f): return fn 这两行是为了定义log(f)为一个返回函数的高阶函数,他可以在给定参数为f时返回fn,即在f中增加了打印日志的功能
    查看全部

举报

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

微信扫码,参与3人拼团

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

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