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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 变量可以指向函数: 例如f = abs f(-20)得到的值就是20.
    查看全部
  • Python的__init__(self...)实例方法属性,在其他的实例方法属性中居然是通用的,有点意思~
    查看全部
  • 类的隐私属性,只能在类的内部访问,外部无法访问
    查看全部
  • Person.count = Person.count + 1 类中调用类的属性需要 :类名. 的形式访问
    查看全部
  • class Rational(object): def __init__(self, p, q): self.p = p self.q = q def __add__(self, r): return Rational(self.p * r.q + self.q * r.p, self.q * r.q) def __sub__(self, r): return Rational(self.p * r.q - self.q * r.p, self.q * r.q) def __mul__(self, r): return Rational(self.p * r.p , self.q * r.q) def __div__(self, r): return Rational(self.p * r.q , self.q * r.p) def __str__(self): c = self.gcd(self.p, self.q) t1 = self.p/c t2 = self.q/c if t2 == 1: return '%s' % t1 return '%s/%s' % (t1, t2) def gcd(self,a,b): while b: a,b=b,a%b return a __repr__ = __str__ r1 = Rational(1, 2) r2 = Rational(1, 4) print r1 + r2 print r1 - r2 print r1 * r2 print r1 / r2
    查看全部
  • class Fib(object): def __init__(self, num): self.num = num self.__list = [] for i in range(0, self.num): self.__list.append(self.__calculate(i)) def __str__(self): return str(self.__list) def __len__(self): return self.num def __calculate(self, num): if num == 0: return 0 elif num == 1: return 1 else: return self.__calculate(num-1) + self.__calculate(num-2) f = Fib(10) print f print len(f)
    查看全部
    1 采集 收起 来源:python中 __len__

    2016-10-14

  • 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
    查看全部
    0 采集 收起 来源:python中闭包

    2016-10-14

  • **kw 可以代表 任意参数,转化的kw实际上是dict,访问方式 for k in kw: print k,kw[k] for k,v in kw.items() print k,v
    查看全部
  • gcd() 函数为根据‘辗转相除法’求最大公约数的定义
    查看全部
  • (1) cmp参数 cmp接受一个函数,拿整形举例,形式为: def f(a,b): return a-b 如果排序的元素是其他类型的,如果a逻辑小于b,函数返回负数;a逻辑等于b,函数返回0;a逻辑大于b,函数返回正数就行了 (2) key参数 key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下 def f(a): return len(a) key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序 (3) reverse参数 接受False 或者True 表示是否逆序
    查看全部
  • @property---这是关键字,固定格式,能让方法当“属性”用。 @score.setter---前面的"score"是@property紧跟的下面定义的那个方法的名字,"setter"是关键字,这种“@+方法名字+点+setter”是个固定格式与@property搭配使用。 有个上面这个解释就一下子能理解了,没有就半天才搞明白哪冒出来的东西。
    查看全部
    0 采集 收起 来源:python中 @property

    2018-03-22

  • 下一阶段python学习
    查看全部
    1 采集 收起 来源:课程总结

    2016-10-14

  • import types class Person(object): vname = "hahah" def __init__(self, name, score): self.name = name self.score = score self.get_grade = lambda: 'A' p1 = Person('Bob', 90) def fn_tobe_bind(klass): return klass.vname p1.bind_fn = types.MethodType(fn_tobe_bind, p1, Person) p1.bind_fn() print p1.get_grade print p1.get_grade()
    查看全部
  • class Person(object): def __init__(self, name, score): self.name = name self.__score = score pass def get_grade(self): if self.__score > 80: return u"A-优秀" elif self.__score >= 60: return u"B-及格" else: return u"C-不及格" p1 = Person('Bob', 90) p2 = Person('Alice', 65) p3 = Person('Tim', 48) print p1.get_grade() print p2.get_grade() print p3.get_grade()
    查看全部
  • class Person(object): count = 0; def __init__(self, name): self.name = name Person.count = Person.count + 1 return pass p1 = Person('Bob') print Person.count p2 = Person('Alice') print Person.count p3 = Person('Tim') print Person.count
    查看全部

举报

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

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