zoukankan      html  css  js  c++  java
  • 第57天python学习面向对象不常用属性

    # isinstance(object,cls)——————》判断object是不是cls的实例
    # isinstance(sub,super)———————》判断sub类是不是super的子类
    # 反射:自省的
    # hasattr(obj,"属性")#obj.属性是否存在
    # getattr(obj,"属性")#获取obj。属性,属性不存在就报错
    # getattr(obj,"属性","默认值")#获取obj.属性,属性不存不会报错,返回默认值
    # setattr(obj,"属性",“属性的值”)#obj.属性=属性值
    # delattr(obj,"属性")#del obj.属性


    #__getattr__ ,__setattr__ ,__delattr__:obj点的方式去操作属性时触发的方式
    #__getattr__:obj.属性 不存在时触发
    #__setattr__:obj.属性=属性的值时触发
    #__delattr__:del.属性 时触发

    ##__getitem__ ,__setitem__ ,__delitem__
    # obj[“属性”]方式去操作属性时触发的方式
    #__getitem__:obj["属性 "]时触发
    #__setitemr__:obj["属性 "]=属性的值 时触发
    #__delitemr__:del["属性 "] 时触发


    # __get__,__set__,__delete__
    #描述符就是一个新式类,这个类至少要实现上述三个方法的一个
    # class 描述符:
    #def __get__():
    # pass
    #def __set__():
    # pass
    #def __delete__():
    # pass

    # class 类:
    # name=描述符()
    # obj=类()
    # obj.name#get
    # obj.name="zhangsahn"#set
    #del obj.name #delete

    #__del__:析构方法

    #__str__ ,__repr__,__format__

    #__slots__ :省内存的,属性都没有__dict__了

    #__doc__ :查看文档信息

    #__module__ :对象是在哪个模块 ;,__class__:对象是在哪个类里面的

    #__del__

    #__cal__:只要对象加(),那么调用的就是定义的cal方法

    #__next__ 和 __iter__ 迭代器方法
    # 要让对象能不for循环,则使用__item__方法就能迭代
  • 相关阅读:
    关于在MAC上进行 LARAVEL 环境 Homestead 安装过程记录
    js 贷款计算器
    js 实现阶乘
    js 两点间距离函数
    composer Your requirements could not be resolved to an installable set of packages
    vue 项目优化记录 持续更新...
    vue 项目打包
    vue 真机调试页面出现空白
    vue 真机调试
    谈谈-Android状态栏的编辑
  • 原文地址:https://www.cnblogs.com/jianchixuexu/p/11789108.html
Copyright © 2011-2022 走看看