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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 假设要转换大量的二进制字符串,每次都传入int(x, base=2)非常麻烦,于是,我们想到,可以定义一个int2()的函数,默认把base=2传进去: def int2(x, base=2): return int(x, base) 这样,我们转换二进制就非常方便了: >>> int2('1000000') 64 >>> int2('1010101') 85 functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2: >>> import functools >>> int2 = functools.partial(int, base=2) >>> int2('1000000') 64 >>> int2('1010101') 85 所以,functools.partial可以把一个参数多的函数变成一个参数少的新函数,少的参数需要在创建时指定默认值,这样,新函数调用的难度就降低了。
    查看全部
    0 采集 收起 来源:python中偏函数

    2018-03-22

  • 题目:闭包
    查看全部
    0 采集 收起 来源:python中闭包

    2016-10-12

  • 函数是代码块,:表示代码块开始 reduce()高阶函数的应用
    查看全部
  • import math def is_sqr(x): return math.sqrt(x)%1==0 print filter(is_sqr, range(1, 101))
    查看全部
  • try: print p.__score except AttributeError: print 'attributeerror' 验证外部是否能访问到
    查看全部
  • import time #调用函数参数 def performance(f): #定义装饰器函数 def fn(*args,**kw): #定义接收任何参数的子函数 t1=time.time() #获取当前电脑时间 r=f(*args,**kw) #传入并运行factorial()函数 t2=time.time() #获取当前电脑时间 print 'call %s() in %fs' % (f.__name__,(t2-t1)) #%s表示该位置应填入字符串,%f表示该位置应填入浮点型数字(即包含小数尾数的数字),()和s没任何意义(还是()和s),(f.__name__,(t2-t1))以元组形式表示需要填入的字符串(本处f.__name__=factorial)和浮点型数字 return r #返回执行factorial()函数后的值 return fn #返回子函数fn @performance #定义装饰器 def factorial(n): #定义原函数factorial() return reduce(lambda x,y: x*y, range(1, n+1)) #以匿名函数定义原函数运算规则和返回值 print factorial(10) #此时的factorial经过装饰器@performance包装,已经是performance(factorial),该命令等价于 print performance(factorial)(10) #输出fn()运算结果:1、给出装饰器添加的部分:call factorial() in 0.0000s;2、给出原函数factorial(10)元算结果,3628800
    查看全部
  • def format_name(s): return s[0].upper() + s[1:].lower() print map(format_name, ['adam', 'LISA', 'barT'])
    查看全部
  • call 就是一个带返回值的init,所以两者不同重复写
    查看全部
    0 采集 收起 来源:python中 __call__

    2016-10-11

  • f.__name__:__name__是一个特殊方法,存储的是函数的名称,每一个函数都会自动有这个方法 装饰器调用方法: 1、2、(下图) 3、Python内置的@语法就是为了简化装饰器的作用: @new_fn def f1(x): return x*2 相当于: def f1(x): return x*2 f1 = new_fn(f1) 装饰器的作用:可以极大地简化代码,避免每个函数编写重复代码 打印日志:@log 检测性能:@performance 数据库事务:@transaction url路由:@post('/register')
    查看全部
  • filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
    查看全部
  • .iteritems或者.items方法是将字典所有的项按(key,value)的形式返回迭代器对象
    查看全部
  • 解释器内部会将**kw拆分成对应的dict. setattr()方法接受3个参数:setattr(对象,属性,属性的值) setattr(self,k,v)相当于self.k = v kw.iteritems()历遍字典kw的所有key和value,分别匹配k,v
    查看全部
  • 返回函数不要引用任何循环变量,或者后续会发生变化的变量。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-10-11

  • 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
    查看全部

举报

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

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