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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
学习人数
综合评分9.20
575人评价 查看评价
9.6 内容实用
9.0 简洁易懂
9.0 逻辑清晰
  • #filter()函数接收一个函数和一个list 这个函数的作用是对每个元素进行判断,返回Ture或False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成新list python中的strip()函数是用于移除头尾字符串指定的字符。s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' '),
    查看全部
  • 约分方法:同除以最大公约数 求最大公约数: 方法1: def gcd(a, b): if b == 0: return a return gcd(b, a % b) 方法2: from fractions import gcd gcd(a,b) # 返回a,b的最大公约数
    查看全部
  • map()函数不改变原有的list,而是返回一个新的list。 利用map()函数,可以把一个list转换为另一个list,只需要传入转换函数。 由于list包含的元素可以是任何类型,因此,map()不仅仅可以处理只包含数值的list,事实上它可以处理包含任意类型的list,只要传入的函数f可以处理这种数据类型
    查看全部
  • python编程特点
    查看全部
  • import time, functools def performance(unit): def per(f): @functools.wraps(f) def fn(*args, **kw): t1 = time.time() b = f(*args, **kw) t2 = time.time() t = (t2 - t1)*1000 if unit == 'ms' else (t2-t1) print 'call %s() in %f %s' % (f.__name__, t, unit) return b return fn return per @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(100) print factorial.__name__
    查看全部
  • import time def performance(unit): def per(f): def fn(*args, **kw): t1 = time.time() b = f(*args, **kw) t2 = time.time() t = (t2-t1)* 1000 if unit =='ms' else (t2-t1) print 'call %s() in %f %s' % (f.__name__, t, unit) return b return fn return per @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • import time def performance(f): def fn(*args, **kw): t1 = time.time() b = f(*args, **kw) t2 = time.time() print 'call %s() in %fs' % (f.__name__, (t2 - t1)) return b return fn @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • import time def performance(f): def fn(*args, **kw): t1 = time.time() b = f(*args, **kw) t2 = time.time() print 'call %s() in %fs' % (f.__name__, (t2 - t1)) return fn @performance def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • def __init__(self, name, gender, **kw): self.name = name self.gender = gender for k, v in kw.iteritems(): setattr(self, k, v)
    查看全部
  • 关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。
    查看全部
  • 内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
    查看全部
    0 采集 收起 来源:python中闭包

    2015-05-05

  • reduce()函数也是Python内置的一个高阶函数。reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值
    查看全部
  • 由于属性可以是普通的值对象,如 str,int 等,也可以是方法,还可以是函数,大家看看下面代码的运行结果,请想一想 p1.get_grade 为什么是函数而不是方法: class Person(object): def __init__(self, name, score): self.name = name self.score = score self.get_grade = lambda: 'A' p1 = Person('Bob', 90) print p1.get_grade print p1.get_grade() ?不会了怎么办 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。
    查看全部
  • 函数调用不需要传入 self,但是方法调用需要传入 self。 def gn_get_grade(self): .... 有self可以转化为方法。 对比下面的两个例子,第一个fn_get无参(self),调用时会报错;而第二三个说明, fn_get有a这个参数,python将其作为self,可成功调用 >>> def fn_get(): return 'A' >>> p1.fn = types.MethodType(fn_get, p1) >>> p1.fn <bound method Person.fn_get of <__main__.Person object at 0x01B120D0>> >>> p1.fn() Traceback (most recent call last): File "<pyshell#37>", line 1, in <module> p1.fn() TypeError: fn_get() takes 0 positional arguments but 1 was given >>> def fn_get(a): return 'A' >>> p1.fn2 = types.MethodType(fn_get, p1) >>> p1.fn2() 'A' >>> def fn_get(a): return a.name >>> p1.fn3 = types.MethodType(fn_get, p1) >>> p1.fn3() 'Bob' >>>
    查看全部
  • s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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