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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • return 后不用加括号,直接写就行
    查看全部
  • __repr__=__str__写了之后: 调用p与调用print p的效果是一样的 即调用实例变量时也会调用__str__
    查看全部
  • 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__

    2017-10-22

  • def gcd(a, b): if b == 0: return a return gcd(b, a % b)#求分子分母的最大公约数。 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): g = gcd(self.p, self.q)#调用这个gcd之后,返回的是分子分母的最大公约数。 return '%s/%s' % (self.p / g, self.q / g)#将结果调整为真分式。 __repr__ = __str__ r1 = Rational(1, 2) r2 = Rational(1, 4) print r1 + r2 print r1 - r2 print r1 * r2 print r1 / r2
    查看全部
  • class Student(object): def __init__(self, name, score): self.name = name self.score = score def __str__(self):自定义的特殊方法都不用直接调用,某些函数或者操作符会自动调用相应的特殊函数。 return '(%s: %s)' % (self.name, self.score) __repr__ = __str__ def __cmp__(self, s):自定义的比较特殊函数 if self.score == s.score: return cmp(self.name, s.name)#cmp()是内置函数,会自动比较两个对象,x,y.返回1,-1,或0。排序的话,默认从小到大。 return -cmp(self.score, s.score)#加了—,就变成从大到小排序了。 L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 99)]#列表元素为Student类的实例。 print sorted(L)#sorted(list,cmp),其中默认的比较函数是Student类中的特殊函数。
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2017-10-22

  • 方法也分实例方法和类方法
    查看全部
  • 当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。
    查看全部
  • class Person(object): __slots__ = ('name', 'gender') def __init__(self, name, gender): self.name = name self.gender = gender class Student(Person): __slots__ = ('score',) def __init__(self,name,gender,score): super(Student,self).__init__(name,gender) self.score=score s = Student('Bob', 'male', 59) s.name = 'Tim' s.score = 99 print s.score __slots__在添加属性时,括号里直接列出增加“属性,”。 在类的传递中,需要消除父类属性,即用 super(Student,self).__init__(父类已有属性)
    查看全部
    0 采集 收起 来源:python中 __slots__

    2017-10-22

  • 类是模板,而实例则是根据类创建的对象
    查看全部
  • python提供了两种安装第三方模块的管理工具:1.easy_install 2.pip (推荐)
    查看全部
  • Python 装饰器 @property @xxx.setter (from @property) 隐藏get/set方法
    查看全部
    0 采集 收起 来源:python中 @property

    2017-10-22

  • Python 类型转换 除法计算中: //计算结果是整数 / 计算结果是浮点数 float() int()
    查看全部
  • python 最大公约数计算 farctions包含了gcd()函数 直接调用即可 格式: from farctions import gcd
    查看全部
  • 匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。
    查看全部
  • 闭包函数,返回函数不要引用任何循环变量,或者后续会发生变化的变量,不然结果会统计使用循环中的最后一个变量计算
    查看全部
    0 采集 收起 来源:python中闭包

    2017-10-22

举报

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

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