zoukankan      html  css  js  c++  java
  • python:类2——有关类和对象的BIF内置函数

    • 1、检查、判断

    判断一个类是不是另一个类的子类

    issubclass(class, classinfo)如果第一个参数是第二个参数的子类、子子类等,返回true

    • 非严格(自己可以认为是自己的子类);
    • 第二个参数可以是由多个class组成的tuple,有任何一个合适,就true;
    • 其他情况对抛出typeerror

    判断一个对象是不是某个类的实例对象

    isinstance(object, classinfo)检查某第一个参数实例对象是否属于一个类

    • 第二个参数可以是由多个class组成的tuple,有任何一个合适,就true
    • 如果第一个参数传入不是对象类型,永远返回false
    • 如果第二个参数不是类或者由类对象组成的tuple,会抛出TypeError

    2、点操作符号访问对象属性,attribute相关:

    hasattr(object, name)  对象是否有制定的属性name,name需要用引号括起来,否则他会认为是变量,

    getattr(object, name [, default])  获得对象object的name属性值,如果不存在,返回default,若没有设置default,不存在时会抛出AttributeError

    • getattr(A, 'b', '您所访问的属性不存在')

    setattr(object, name, value)  设置对象name属性的值为value,若属性不存在会新建新的属性;name加引号

    delattr(object, name)  删除指定的属性;若不存在,抛出AttributeError

     

    property()  通过属性设置属性

    • x = property(getSize, setSize, delSize)设置一个x属性,能操作getSize、setSize、delSize(提前自己写好)方法
    • x可以作为调用接口,里边的方法可以大改,比如改名字等,增加方法。
    • 工作原理:组合了几个魔法方法

  • 相关阅读:
    Python 内存泄露 内存回收机制
    decimal 格式化
    iis 6 配置PHP
    按照 in (....) 里面的顺序进行排序
    设计模式之 访问者模式
    与数据库的列信息有关
    win32 IFolderView2::GetCurrentFolderFlags的使用
    MySQL防止重复插入相同记录 insert if not exists
    c++扩展Python(未验证)
    c++ 获取桌面图标的坐标与名称
  • 原文地址:https://www.cnblogs.com/daduryi/p/6824476.html
Copyright © 2011-2022 走看看