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

python进阶

廖雪峰 移动开发工程师
难度中级
时长 3小时33分
  • 类的继承小记: a. 继承的优点: 1. 复用已有的代码 2. 自动拥有现有的类的所有功能 3. 只需要编写缺少的新功能(没有改写功能了吗……) b. 继承类的编写 class ExtendClass(ParentClass): def __init__(self, para): super(ExtendClass, self).__init__(para) #继承类的构造方法必须含有此语句,意在继承父类的全部方法与属性特点 c. 在继承链上,一个父类的实例不能是子类类型,因为子类比父类多了一些属性和方法 & 在一条继承链上,一个实例可以看成它本身的类型,也可以看成它父类的类型。 d. 动态语言和静态语言(例如Java)最大的差别之一:动态语言调用实例方法,不检查类型,只要方法存在,参数正确,就可以调用。 **Python的动态特性**json.load()并不一定要从一个File对象读取内容。任何对象,只要有read()方法,就称为File-like Object,都可以传给json.load()。 e. 多重继承: class D(B, C): def __init__(self, a): super(D, self).__init__(a) print 'init D...' 多重继承的目的是从两种继承树中分别选择并继承出子类,以便组合功能使用。 f. 类中对对象的处理函数 1. isinstance() 判断它是否是某种类型的实例 2. type() 获取变量的类型,它返回一个 Type 对象: 3. dir() 函数获取变量的所有属性 4. 已知一个属性名称,要获取或者设置对象的属性,就需要用 getattr() 和 setattr( )函数
    查看全部
  • 和属性类似方法也分为实例方法和类方法,在class中定义的都是实例方法,实例方法第一个参数self是实例本身。 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。 因为是在类上调用,而非实例上调用,因此类方法无法获得任何实例变量,只能获得类的引用。
    查看全部
  • s.strip(rm) 删除 s 字符串中开头、结尾处的 rm 序列的字符。
    查看全部
  • 嵌套判断中,有一个符合,则后面的代码不执行,结束!
    查看全部
    0 采集 收起 来源:python中 __cmp__

    2018-02-17

  • 要注意标点的使用!
    查看全部
  • def __init__(self,name,gender,birth,**kw): self.name = name self.gender = gender self.birth = birth self.__dict__.update(kw) pass
    查看全部
  • map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。 capitalize() 首字母大写,其余全部小写 upper() 全转换成大写 lower() 全转换成小写 title() 标题首字大写
    查看全部
  • 属性名前有"__"表示加密属性,不能被外部访问!
    查看全部
  • 加载完类代码块后,每次添加实例时,只访问def__init__()函数!而实例属性函数可以访问并修改类属性!
    查看全部
  • 当解释检测出属性错误时,会即时反馈出错!异常处理应将其错误包含在内,不要把他放在外面,否则异常处理程序失效!
    查看全部
  • 我们在class中定义的实例方法其实也是属性,它实际上是一个函数对象。 p1.get_grade返回的是一个函数对象但这个函数是一个绑定到实例的函数,p1.get_grade() 才是方法调用。 因为方法也是一个属性,它也可以动态地添加到实例上,只是需要用types.MethodType()把一个函数变成一个方法。 p1.get_grade = types.MethodType(函数名,p1,Person)
    查看全部
  • isinstance()判断一个变量所指代的字符是什么类型,格式:isinstance(变量名或字符,Type)!
    查看全部
  • 当在某一层面没有发现任何问题,只能退一层面去重新寻找问题!依此类推
    查看全部
  • Python内置的高阶函数: (1)map():接受一个函数和一个list作为参数,把list中的每个元素都应用到参数函数中。 (2)reduce():与map()类似,但传入的函数f必须接收两个参数
    查看全部
  • time库,总用里面的time函数可以记录当前的时间,如t2=time.time()。要注意引用外库的函数引用时要注意格式——库名.函数名()!
    查看全部

举报

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

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