Python_67面向对象类之特殊成员setitem/getitem/delitem

#成员的种类 :普通字段  静态字段  普通方法   静态方法  类方法  普通特性
class FFF:
x='xxxxxdddd'
__x1='x11111111' #'__'就是成员修饰符,x1就是被修饰后的变量字段 私有的 只能在内部访问
def __init__(self):
print ('111')
self.__name='name222' #这个name依旧是那个私有的字段 依旧是不可被调用的
def fetch(self,bak):
print (bak)
print (FFF.__x1)
def __call__(self, *args, **kwargs):
print ('calll1111')



class Bar(FFF):
def fetch(self):
print ('bbbbar')

bbb=Bar()
bbb()
bbb['k1']
输出——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

Traceback (most recent call last):
File "D:/Users/Administrator/PycharmProjects/untitled/venv/yingshe/chengyuanxiushifu.py", line 22, in <module>
bbb['k1']=5
TypeError: 'Bar' object does not support item assignment
111
calll1111

这里的这个bbb['k1']这个报错,是因为没有调用添加成员的方法  __getitem__()

******************************************************************************************************************************************************************************************************************************************************************************

#成员的种类 :普通字段  静态字段  普通方法   静态方法  类方法  普通特性
class FFF:
x='xxxxxdddd'
__x1='x11111111' #'__'就是成员修饰符,x1就是被修饰后的变量字段 私有的 只能在内部访问
def __init__(self):
print ('111')
self.__name='name222' #这个name依旧是那个私有的字段 依旧是不可被调用的
def fetch(self,bak):
print (bak)
print (FFF.__x1)
def __call__(self, *args, **kwargs):
print ('calll1111')
def __getitem__(self, item):
print (item)



class Bar(FFF):
def fetch(self):
print ('bbbbar')

bbb=Bar()
bbb()
bbb['k1'] #中括号 默认执行 getitem方法
输出——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

111
calll1111
k1

这里就可以了,不会报错了

*****************************************************************************************************************************************************************************************************************************************************************************

*****************************************************************************************************************************************************************************************************************************************************************************

猜你喜欢

转载自www.cnblogs.com/beyondtring/p/9120825.html