码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-05-10 23:19:04      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:set   att   value   技术   执行   操作   bsp   子类   attr   

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

一、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(------->)

#输出结果
# ------->
# 执行我啦
(析构方法)回收资源

 

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

标签:set   att   value   技术   执行   操作   bsp   子类   attr   

原文地址:https://www.cnblogs.com/AYxing/p/9021753.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!