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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 原题中fs保存的是f函数,所以思路1:让fs中保存计算后的值即fs.append(f()),那么count()返回的列表中的结果就是计算数值,所以f1、f2、f3对应的是数值,所以输出改为print f1、f2、f3。 思路2:还是让count()返回的列表中的结构是函数,所以f1、f2、f3对应的是函数,那么输出为f1(), f2(), f3(),在这种情况下如何修改呢?
    查看全部
    0 采集 收起 来源:python中闭包

    2017-07-13

  • 求最大公约数的方法:(被除数÷除数=商……余数) 一直用 a/b 得到 余数c ,再将c作为除数,原来的除数作为被除数计算 b/c 得到新的余数 c 直到余数 c=0,此时的除数就是原来 a,b 的最大公约数 def gcd(a, b): if b == 0: return a return gcd(b, a % b)
    查看全部
  • 一个属性由双下划线开头(__),该属性就无法被外部访问 如果一个属性以"__xxx__"的形式定义,那它又可以被外部访问了 以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问
    查看全部
  • self.name = 'xxx' 等同于 setattr(self, 'name', 'xxx') for k, v in kw.iteritems(): setattr(self, k, v)
    查看全部
  • 新类可以继承现有类的所有功能,只需要编写缺少的功能 不要忘记调用super().__init__,初始化父类
    查看全部
  • class Person(object): def __init__(self, name, gender, birth): self.name = name self.gender = gender self.birth = birth __init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。 建实例时,就必须要提供除 self 以外的参数: xiaoming = Person('Xiao Ming', 'Male', '1991-1-1')
    查看全部
  • 方法也分实例方法和类方法(与属性类似) 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身。 要在class中定义类方法,需要这么写: 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() 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count。 因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。
    查看全部
  • 因为方法也是一个属性,所以,它也可以动态地添加到实例上,只是需要用 types.MethodType() 把一个函数变为一个方法
    查看全部
  • 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的 创建实例使用 类名+(),类似函数调用的形式创建: xiaoming = Person() xiaohong = Person()
    查看全部
  • 在线么……这里没有理由对了么……这里外两
    查看全部
  • 在Python 3.x中,字符串统一为unicode,不需要加前缀 u,而以字节存储的str则必须加前缀 b
    查看全部
  • 虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的
    查看全部
  • 对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__(): 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.name < s.name: return -1 elif self.name > s.name: return 1 else: return 0 上述 Student 类实现了__cmp__()方法,__cmp__用实例自身self和传入的实例 s 进行比较,如果 self 应该排在前面,就返回 -1,如果 s 应该排在前面,就返回1,如果两者相当,返回 0。 注意: 如果list不仅仅包含 Student 类,则 __cmp__ 可能会报错: L = [Student('Tim', 99), Student('Bob', 88), 100, 'Hello'] print sorted(L)
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-03-22

  • 当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对类属性的访问。
    查看全部
  • 查看模块: import modulename help(modulename)
    查看全部

举报

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

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