python中的常用特殊方法

class Cat:
“”“这是一个猫类”“”
def init(self) :
# 初始化方法
self.name = “cat”

    # 私有属性
    self.__privatename = "Cat__1"

# 让对象具有像函数一样背调用的能力
def __call__(self, *args, **kwds):
    print("函数调用")
    return "成功调用"

def __del__(self):
    print("消除对象")

# 给对象下定义
def __str__(self):
    return '我是%s'% self.name

# 长度计算
def __len__(self):
    pass

# 添加迭代器
def __iter__(self):
    return iter([1,2,3])

# 提供关键词查询,如cat['name']
def __getitem__(self,key):
    if key == "name":
        return self.name
    
# 给name属性赋值,使用方法:cat['name']='xiaohua'
def __setitem__(self,key,value):
    if key == "name":
        self.name = value
    else:
        pass
# 删除属性,用法:del cat['name']
def __delitem__(self,key):
    if key == "name":
        del self.name

# 提供加法操作,让类对象间有加法能力,使用方法:cat=cat1+cat2
"""
__sub__减法
__mul__乘法
__div__除法
__mod__取模
__pow__次方
"""
def __add__(self,other):
    if isinstance(other,Cat):
        return [self,other]
    elif isinstance(other,list):
        other.append(self)
        return other

cat = Cat()

析构方法,删除对象

del cat

类说明

print(cat.doc)

print(“所在模块(在哪个文件里):”,cat.module)

print(“类位置(在哪个文件里的哪个类):”,cat.class)

print(“调用cat:”,cat())

print(“对象是否支持__call__:”,callable(cat))

print(“获取对象的成员属性:”,cat.dict)

输出对象

print(“对象的定义:”,cat)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值