随笔分类 - python【面向对象】
摘要:结论: __call__:在实例化一个类时,在后边加上(),执行的就是call方法,它没有返回值,所以没有真正实例化一个对象出来,所以call方法中的操作不会影响到其它对象 __eq__:对象碰到==,执行的是__eq__ 默认情况下: 可以自定义实现: __hash__:对一个不可变数据类型has
阅读全文
摘要:注意:类方法操作涉及静态属性的时候,他的操作对当前类的作用域有效,会影响所有调用该静态属性的方法。使用时需要注意self应该变为cls。 isinstance、issubclass
阅读全文
摘要:property:是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 一个静态属性property本质就是实现了get,set,delete三种方法 例:在不改变对象调用属性名的方式(obj.name)下,实现了被封装属性在类外部的查看、修改、删除 注意:
阅读全文
摘要:封装: 广义:面向对象的封装是对代码的保护,面向对象的思想本身就是一种,只让自己的对象能调用自己类中的方法就是一种封装 狭义:是面向对象的三大特性之一,属性和方法都藏起来,不让你能在外部调用,让你看不见 使用方法:名字前面加双下划线 会用到封装的场景: 1.隐藏起一个属性 不想让类的外部调用 2.我
阅读全文
摘要:Python角度:只有抽象类,没有接口类,实现接口类需要借助模块使用:abc模块中的abstractmethod和ABCMeta,声明元类metaclass = ABCMeta,且加上装饰器@abstructmethod 本质作用:代码规范,希望在子类中实现和父类方法名字完全一样的方法 Java角度
阅读全文
摘要:经典类为深度优先:即一条路找到低,找不到则换一条路。 关于super: super的本质:不是单纯找父类 而是根据调用者的节点位置的广度优先顺序来的,所以寻找顺序为D-->B-->C-->A
阅读全文
摘要:定义一个类: 例: 总结: 1、实例化的过程就是类——>对象的过程,创建的对象就是一个实例化的东西 2、self在实例化时自动将对象/实例本身传给__init__的第一个参数,你也可以给他起个别的名字,但是正常人都不会这么做。self拥有属性都属于对象,在类的内部,self就是一个对象 3、对象通过
阅读全文
摘要:知识点:闭包,即外部函数的变量被内部函数调用 思考:当函数返回值为可变数据类型(字典)时,可在返回之前添加一个键值对,赋值可以是当前作用域函数的内存地址,这样就能以字典获取vaule的形式调用到内部函数(赋值的内存地址指向的函数) 转换为面向对象方式编写:
阅读全文

浙公网安备 33010602011771号