python四个魔法方法__len__,__getitem__,__setitem__,__delitem__

前言
  • python中除了可以使用内建的类型,如list,tuple,dict,还可以创建自己的对象来实现像这些内建类型的访问,不过需要在定义类的时候对一些魔法方法逐一实现。
一句话解释
  • 有点儿类似于C++中的运算符重载.也有点像在C中创建一个类的时候会创建get方法set方法,以便于访问实例化对象的值.
代码
class DictDemo:
	def __init__(self,key,value):
		self.dict = {}
		self.dict[key] = value
		print("__init__Use")
	def __getitem__(self,key):
		print('__getitem__Use')
		return self.dict[key]
	def __setitem__(self,key,value):
		print('__setitem__Use')
		self.dict[key] = value
	def __len__(self):
		print('__len__Use')
		return len(self.dict)
		
dictDemo = DictDemo('key0','value0')
# __init__Use
print(dictDemo['key0']) #value0
# __getitem__Use
dictDemo['key1'] = 'value1'
# __setitem__Use
print(dictDemo['key1']) #value1
# __getitem__Use
print(len(dictDemo)) #2
# __len__Use
输出
__init__Use
__getitem__Use
value0
__setitem__Use
__getitem__Use
value1
__len__Use
2
Reference

python四个魔法方法__len__,getitem,setitem,delitem

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tech沉思录

点赞加投币,感谢您的资瓷~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值