python基础方面二

第二部分  对象与内建函数

对象

xx: 公有变量

_x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问

__xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到)

__xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:__init__ , __ 不要自己发明这样的名字

xx_:单后置下划线,用于避免与Python关键词的冲突

__init__(self,x,y) 初始化可以传参数  不需要返回值  self对象是__new__返回的值

__str__(self):实例字符串表示,可读性  print(类实例),如没实现,使用repr结果

__repr__  实例字符串表示,准确性  类实例 回车 或者 print(repr(类实例))

__del__(self): 删除对象时默认调的方法  del 对象 来删除对象(引用计数减1)

__new__ (cls)  return object.__new__(cls)还可以通过父辈的__new__

__dict__  实例自定义属性 vars(实例.__dict__)

__doc__ 类文档,子类不继承  help(类或实例)

__getattribute__ 属性访问拦截器  访问实例属性时  object.__getattribute__(self,obj) no self.test

__bases__ 类的所有父类构成元素  类名.__bases__

__all__ 如果文件中有它,那么这个变量中的元素,不会被from xxx import *时导入

__class__ 实例所在的类  实例.__class__

__name__  可以在模块中测试功能 一般 if __name__ ==__"main"

__metaclass__可以指定元类来创建对象

__slots__  限制动态创建属性方法 __slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的

调用父类 super

多态 定义时的类型和运行时的类型不一样,此时就成为多态    执行一个方法,只有在执行时才能知道执行的是父类,还是子类

python 的面 向对象的三个基本要素,封装继承多态

类属性,所有类对象和实例对象共有,内存只有一份  #实例属性会屏蔽掉同名的类属性

类方法 @classmethod 第一个参数必须是类对象,一般以cls作为第一个参数

静态方法  @staticmethod  静态方法中引用类属性的话,必须通过类对象来引用

内建函数  sorted 排序  reduce 累加元素 filter 过滤  map根据函数对指定序列映射  range  生成器partial函数(偏函数)  把一个函数的某些参数设置默认值,返回一个新的函数,调用这个新函数会更简单。

wraps函数  也是个装饰器,作用是避免函数文档被装饰器覆盖

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 要点: 函数式编程:注意不是“函数编程”,多了一个“式” 模块:如何使用模块 面向对象编程:面向对象的概念、属性、...
    victorsungo阅读 5,507评论 0 6
  • 定义类并创建实例 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类...
    绩重KF阅读 9,423评论 0 13
  • Python进阶框架 希望大家喜欢,点赞哦首先感谢廖雪峰老师对于该课程的讲解 一、函数式编程 1.1 函数式编程简...
    Gaolex阅读 10,883评论 6 53
  • 艺术设计是一个巨大和宽领域,艺术家永远保持沉默和静音按钮,即使他们不是在工作中,即使在爬山或是一个凉爽的假期,他们...
    设计周刊阅读 1,846评论 0 0
  • 掌门_艾老师阅读 1,566评论 0 0