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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 这个任务不太懂……
    查看全部
    0 采集 收起 来源:python中闭包

    2016-02-28

  • 模块有两种导入方式:1 import 模块名 2 import 函数 form 模块 as 函数别名 方法1导入的模块必须要通过‘模块名.函数名’来调用,方法2导入的函数,可以直接使用原名,但是可能存在函数名冲突,于是在导入时可以重命名函数
    查看全部
  • 一个文件夹就是一个包,一个文件就是一个模块。包的每一层中必须要有__init__.py,才能使其区别于文件夹。
    查看全部
  • 非常棒,函数式
    查看全部
  • import functools sorted_ignore_case = functools.partial(sorted,cmp=lambda x,y:cmp (x.lower(),y.lower())) print sorted_ignore_case(['bob', 'about', 'Zoo', 'Credit']) import functools sorted_ignore_case = functools.partial(sorted,key=str.lower) print sorted_ignore_case(['bob', 'about', 'Zoo', 'Credit'])
    查看全部
    0 采集 收起 来源:python中偏函数

    2016-02-28

  • 这个算法好 import time def performance(unit): def perf_decorator(f): def wrapper(*args, **kw): t1 = time.time() r = 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 r return wrapper return perf_decorator @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial(10)
    查看全部
  • class Fib(object): def __call__(self, num): a,b,L=0,1,[] for n in range(num): L.append(a) a ,b = b, a + b return L f = Fib() print f(10)
    查看全部
    0 采集 收起 来源:python中 __call__

    2016-02-28

  • class Person(object): __slots__ = ('name', 'gender') def __init__(self, name, gender): self.name = name self.gender = gender class Student(Person): __slots__ = ('name', 'gender','score') def __init__(self,name,gender,score): self.name = name self.gender = gender self.score = score s = Student('Bob', 'male', 59) s.name = 'Tim' s.score = 99 print s.score
    查看全部
    0 采集 收起 来源:python中 __slots__

    2016-02-28

  • class Fib(object): def __init__(self, num): self.num = num self.fibo = [0,1] i = 2 while i < self.num: self.fibo.append(self.fibo[i-2] + self.fibo[i-1]) i = i + 1 def __str__(self): return str(self.fibo) def __len__(self): return len(self.fibo) f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-03-22

  • class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender class Student(Person): def __init__(self, name, gender, score): super(Student, self).__init__(name, gender) self.score = score def __str__(self): return '(Student:%s,%s,%s)'%(self.name,self.gender,self.score) s = Student('Bob', 'male', 88) print s
    查看全部
  • 一个函数可以返回一个计算结果,也可以返回一个函数。 返回一个函数时,牢记该函数并未执行,返回函数中不要引用任何可能会变化的变量
    查看全部
    0 采集 收起 来源:python中闭包

    2016-02-28

  • class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender class Student(Person): def __init__(self, name, gender, score): super(Student, self).__init__(name, gender) self.score = score class Teacher(Person): def __init__(self, name, gender, course): super(Teacher, self).__init__(name, gender) self.course = course t = Teacher('Alice', 'Female', 'English') print isinstance(t,Person) print isinstance(t,Student) print isinstance(t,Teacher) print isinstance(t,object)
    查看全部
  • class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender class Teacher(Person): def __init__(self, name, gender, course): super(Teacher,self).__init__(name,gender) self.course = course t = Teacher('Alice', 'Female', 'English') print t.name print t.course
    查看全部
  • class Person(object): __count = 0 @classmethod def how_many(cls): return cls.__count def __init__(self,name): self.name = name Person.__count = Person.__count + 1 print Person.how_many() p1 = Person('Bob') print Person.how_many()
    查看全部
  • def lazy_sum(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum 当我们调用lazy_sum()时,返回的并不是求和结果,而是求和函数: >>> f = lazy_sum(1, 3, 5, 7, 9) >>> f <function lazy_sum.<locals>.sum at 0x101c6ed90> 调用函数f时,才真正计算求和的结果: >>> f() 25 在这个例子中,我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数lazy_sum的参数和局部变量,当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)”的程序结构拥有极大的威力。
    查看全部
    0 采集 收起 来源:python中闭包

    2018-03-22

举报

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

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