• python-面向对象编程-内置方法


    面向对象的内置方法(举例)

    一、isinstance(obj,cls)和issubclass(sub,super)

    1、    检查boj是否为对象(实例)  

    class Foo(object):
        pass
    
    obj = Foo()
    
    print(isinstance(obj, Foo))
    判断谁是谁的对象(实例)

    2、    检查sub是否子类

    class Foo(object):
        pass
    
    class sub(Foo):
        print('sub')
    obj = Foo()
    
    issubclass(Bar, Foo)
    判断谁是谁的类

    二、item系列——把对象做成像字典对象的东西,从而让操作者可以将像对象那样的操作。

    class Foo:
        def __init__(self, name):
            self.name = name
    
        def __getitem__(self, item):
            print(self.__dict__[item])
    
        def __setitem__(self, key, value):
            self.__dict__[key] = value
    
        def __delitem__(self, key):
            print('del obj[key]时,我执行')
            self.__dict__.pop(key)
    
        def __delattr__(self, item):
            print('del obj.key时,我执行')
            self.__dict__.pop(item)
    
    
    f1 = Foo('sb')
    f1['age'] = 18
    f1['age1'] = 19
    del f1.age1
    del f1['age']
    f1['name'] = 'alex'
    print(f1.__dict__)
    把自定义的对象做成字典对象

    三、__str__(把类中的属性定制成str 用户打印对象时,将信息返回给用户)

    class People:
        def __init__(self,name,age):
            self.name = name
            self.age = age
    
        def __str__(self):
            return '<name> : %s <age> : %s' %(self.name,self.age)
    
    p1 = People('alex',12)
    print(p1)
    类属性定制成字符串

    四、__del__(回收资源)

    class Foo:
    
        def __del__(self):
            print('执行我啦')
    
    f1=Foo()
    # del f1
    print('------->')
    
    #输出结果
    # ------->
    # 执行我啦
    (析构方法)回收资源
  • 相关阅读:
    Django使用redis
    Django中static media的简单配置
    套接字,TCP,UDP
    nginx常用配置
    使用systemctl管理nginx
    jumpserver 安装
    elasticsearch7.x集群安装(含head、bigdesk、kibana插件)
    codepush安装
    mysql优化后的主配置文件
    nginx优化、负载均衡、rewrite
  • 原文地址:https://www.cnblogs.com/AYxing/p/9021753.html
Copyright © 2020-2023  润新知