鱼C论坛

 找回密码
 立即注册
查看: 2118|回复: 1

[技术交流] python 040 关于类和对象的一些BIF

[复制链接]
发表于 2018-7-3 15:22:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. issubclass(class, classinfo):判断第一个参数(class)是否为第二个参数(classinfo)的子类, 是则返回True, 不是则返回False
        1. 另一个类被认为是自身的子类
        2. classinfo可以是类对象组成的元组, 只要class为其中一个类的子类, 则返回True
        3. 传入的class不是类, 则抛出TypeError异常

2. isinstance(object, classinfo): 判断第一个参数(object)是否为第二个参数(classinfo)的实例对象, 是则返回True, 不是则返回False
        1. 如果object为classinfo的子类的一个实例, 也符合条件
        2. 如果第一个参数不是对象, 则返回False
        3. classinfo可以是类对象组成的元组, 只要object为其中一个类的实例或子类的实例, 则返回True

3. hasattr(object, name): 判断属性是否存在, 第一个参数(object)为对象, 第二个参数(name)为属性名的字符串形式, 存在则返回True, 不存在则返回False

4. getattr(object, name[, default]): 返回对象指定的属性值, 若不存在则返回default(可选参数)的值

5. setattr(object, name, value): 创建一个属性并赋予相应的值, 若属性存在, 则覆盖原属性的值

6. delattr(object, name): 删除一个指定的属性

7. property(fget = None, fset = None, fdel = None, doc = None): fget为获取属性值的函数, fset为设置属性值的函数, fdel为删除属性值的函数, doc为属性描述信息, 例如:
class C:
    def __init__(self, size=10):
        self.size = size

    def getSize(self):
        return self.size

    def setSize(self, value):
        self.size = value

    def delSize(self):
        del self.size

    x = property(getSize, setSize,delSize)
  
>>> c.x
10
>>> c.x = 12
>>> c.x
12

property()函数可以让编程人员轻松有效的管理属性访问

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-8 16:09:02 | 显示全部楼层
感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 19:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表