zoukankan      html  css  js  c++  java
  • 10.12 classmethod,staticmethod,反射,魔法方法

    classmethod

    是一个装饰器,可以装饰类内部的方法,使该方法绑定给类来使用

    对象的绑定方法特殊之处

    由对象来调用,会将对象当作第一个参数

    类的绑定方法特殊之处

    由类来调用,会将类当作第一个参数

    staticmethod

    是一个装饰器,可以装饰给类内部的方法,使用该方法即不绑定给对象,也不绑定给类

    面向对象高级方法

    isinstance

    python的内置函数,可以传入两个参数,用于判断参数1是否是参数2的实例
    判断一个对象是否是一个类的实例

    issubclass

    python的内置函数,可以传入两个参数,用于判断参数1是否是参数2的子类
    判断一个类是否是另一个类的子类

    反射

    指的是通过字符串对象的属性进行操作
    hasattr:通过字符串,判断该字符串是否是对象的属性
    getattr:通过字符串,获取对象的属性
    setattr:通过字符串,设置对象的属性
    delattr:通过字符串,删除对象的属性

    魔法方法(类的内置方法)

    凡是在类内部定义,以__开头__结尾的方法都称之为"魔法方法",又称之为"类的内置方法"
    "魔法方法"会在某些条件成立时触发
    __init__:在调用类的时候自动触发
    __str__:会在打印对象时触发
    __del__:对象被销毁前执行,该方法会最后触发(与所在前后位置无关)
    __getattr__:会在对象.属性时,"属性没有"的情况下触发
    __setattr__:会在对象.属性=属性值时触发
    __call__:会在对象被调用时触发
    __new__:会在__init__执行前触发

    单例模式(面试常提)

    单例模式指的是单个实例,实例指的是调用类产生的对象

    实例化多个对象时,会产生多个内存地址,单例可以让所有调用者,在调用类产生对象情况下都指向同一份内存地址

    单例的目的:为了减少内存的占用

  • 相关阅读:
    如何通过logcat查看系统程序的意图
    jmeter测试本地myeclips调试状态下的tomcat程序死锁
    利用开源项目使discus论坛与java应用同步登录和注册
    hibernate映射文件基础
    长沙理工大学校园网客户端无法卸载解决办法
    26个Jquery使用小技巧
    eclipse 书签
    Notepad++ 书签
    【转】不提拔你,就因为你只想把工作做好
    自己开发开源jquery插件--给jquery.treeview加上checkbox
  • 原文地址:https://www.cnblogs.com/793564949liu/p/11662573.html
Copyright © 2011-2022 走看看