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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • D 同时继承自 B 和 C,也就是 D 拥有了 A、B、C 的全部功能。多重继承通过 super()调用__init__()方法时,A 虽然被继承了两次,但__init__()只调用一次: >>> d = D('d') init A... init C... init B... init D...
    查看全部
  • 字符串前加r表示不转义
    查看全部
    0 采集 收起 来源:python中多态

    2017-07-13

  • class Person(object): def __init__(self, name, score): self.name = name self.__score = score p = Person('Bob', 59) print p.name try : print p.__score except AttributeError: print 'attributeerror'
    查看全部
  • 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。有了Person类的定义,就可以创建出具体的xiaoming、xiaohong等实例。创建实例使用 类名+()
    查看全部
  • Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了。要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现。
    查看全部
  • 函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str、list、dict,也可以用在我们自定义的类 s = Student('Bob', 'Male', 88) >>> isinstance(s, Person) True # s是Person类型 >>> isinstance(s, Student) True # s是Student类型 >>> isinstance(s, Teacher) False # s不是Teacher类型
    查看全部
  • 一定要用 super(Student, self).__init__(name, gender) 去初始化父类,否则,继承自 Person 的 Student 将没有 name 和 gender。 函数super(Student, self)将返回当前类继承的父类,即 Person ,然后调用__init__()方法,注意self参数已在super()中传入,在__init__()中将隐式传递,不需要写出(也不能写)
    查看全部
  • 不要忘记调用super().__init__,初始化父类
    查看全部
  • class Person(object): count = 0 @classmethod def how_many(cls): return cls.count 通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count 因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用
    查看全部
  • Python 支持的函数式编程
    查看全部
  • 由于decorator返回的新函数函数名已经不是'f2',而是@log内部定义的'wrapper'。这对于那些依赖函数名的代码就会失效。decorator还改变了函数的__doc__等其它属性。如果要让调用者看不出一个函数经过了@decorator的“改造”,就需要把原函数的一些属性复制到新函数中:
    查看全部
  • 直接把 lambda 函数赋值给 self.get_grade 和绑定方法有所不同,函数调用不需要传入 self,但是方法调用需要传入 self。
    查看全部
  • 方法也是属性 p1.get_grade 返回的是一个函数对象,但这个函数是一个绑定到实例的函数,p1.get_grade() 才是方法调用 import types def fn_get_grade(self): if self.score >= 80: return 'A' if self.score >= 60: return 'B' return 'C' p1.get_grade = types.MethodType(fn_get_grade, p1, Person) print p1.get_grade() # => A
    查看全部
  • from functools import cmp_to_key #引入cmp_to_key通过sorted的key引入cmp函数因为python3已经取消cmp的支持 def cmp_ignore_case(x,y): n = x.upper() m = y.upper() if n < m: return -1 if n > m: return 1 return 0 print(sorted(['bob', 'about', 'Zoo', 'Credit'],key=cmp_to_key(cmp_ignore_case)))
    查看全部
  • >>> help(range) Help on built-in function range in module __builtin__: range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers >>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range(10): print i 0 1 2 3 4 5 6 7 8 9 >>> for i in range(5,10): print i 5 6 7 8 9 这里的 for n in range(num)就是控制计数次数
    查看全部
    0 采集 收起 来源:python中 __call__

    2018-03-22

举报

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

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