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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 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。
    查看全部
  • class Person(object): def __init__(self,name,gender,birth,**kw): self.name=name self.gender = gender self.birth = birth //iteritems()返回一个迭代器 //b = a.iteritems() //list(b) =[('a',1),('b',3)] //for k,v in b: //print k,v //返回a 1 //b 3 for k,v in kw.iteritems(): //setattr(object, name, values//给对象的属性赋值,若属性不存在,先创建再赋值。 setattr(self,k,v) xiaoming = Person('Xiao Ming', 'Male', '1990-1-1', job='Student') print xiaoming.name print xiaoming.job print xiaoming.gender
    查看全部
  • //为什么有pass class Index(object): pass xiaoming = Index() xiaohong = Index() print xiaoming print xiaohong print xiaoming == xiaohong
    查看全部
  • 需要用到的函数:根号函数sqrt()、绝对值函数abs()、高阶函数map()、连续求函数reduce()、过滤函数filter()
    查看全部
  • map函数将list一个个迭代进去,然后每迭代一个就输入给新函数,等迭代完事后输出新的list
    查看全部
  • 高阶函数小记: 1. 变量可以指向函数(类似matlab的匿名函数) 2. 函数的参数可以接收变量 3. 能接收函数作为参数的函数就是高阶函数
    查看全部
  • 斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。 请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。 class Fib(object): '''def __init__(self, num): L = [0,1] for x in range(num-2): L.append(L[-1]+L[-2]) self.names = L ''' def __init__(self, num): a, b, L = 0, 1, [] for i in range(num): L.append(a) a, b = b, a+b self.names = L def __str__(self): return '%s' % self.names __repr__ = __str__ def __len__(self): return len(self.names) f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-01-28

  • 斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。 请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。 class Fib(object): def __init__(self, num): L = [0,1] for x in range(num-2): L.append(L[-1]+L[-2]) self.names = L def __str__(self): return '%s' % self.names def __len__(self): return len(self.names) f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-01-27

  • 斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。 请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。 class Fib(object): b = [] def F(self, x): if x == 0: return 0 if x == 1: return 1 return self.F(x-1)+self.F(x-2) def __init__(self, num): for x in range(num): self.b.append(self.F(x)) self.names = self.b def __str__(self): return '%s'% self.b def __len__(self): return len(self.names) f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-01-27

  • 斐波那契数列是由 0, 1, 1, 2, 3, 5, 8...构成。 请编写一个Fib类,Fib(10)表示数列的前10个元素,print Fib(10) 可以打印出数列的前 10 个元素,len(Fib(10))可以正确返回数列的个数10。 程序: class Fib(object): b = [] def F(self, x): if x == 0: return 0 if x == 1: return 1 return self.F(x-1)+self.F(x-2) def __init__(self, num): self.num = num for x in range(num): setattr(self, 'attr%s' % x, self.F(x)) self.b.append(self.F(x)) def __str__(self): return '%s'% self.b def __len__(self): return self.num f = Fib(10) print f print len(f)
    查看全部
    0 采集 收起 来源:python中 __len__

    2018-01-27

  • 修改类属性会导致所有实例访问到的类属性全部都受影响; 当实例属性和类属性重名时,实例属性优先级高
    查看全部
  • 实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。
    查看全部
  • 面向对象编程是一种程序设计范式; 把程序看做不同对象的相互调用; 对现实世界建立对象模型 基本思想: 类和实例,数据封装 类: 用于定义抽象类型 实例: 根据类的定义被创建出来
    查看全部
  • def count(): fs = [] for i in range(1, 4): def f(i): return lambda : i*i fs.append(f(i)) return fs f1, f2, f3 = count() print f1(), f2(), f3()
    查看全部
    0 采集 收起 来源:python中闭包

    2018-01-27

  • def count(): fs = [] for i in range(1, 4): def f(): return i*i fs.append(f()) return fs f1, f2, f3 = count() print f1, f2, f3
    查看全部
    0 采集 收起 来源:python中闭包

    2018-01-27

举报

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

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