博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
__setitem__,__getitem,__delitem__的作用
阅读量:6197 次
发布时间:2019-06-21

本文共 781 字,大约阅读时间需要 2 分钟。

class Foo:    def __init__(self, name):        self.name = name def __getitem__(self, item):        print('obj[key]时,我执行')        print(self.__dict__[item])    def __setitem__(self, key, value):        print('obj[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('jack')f1['name']  # obj[key]时,我执行  # jackf1['age'] = 18  # obj[key]=value时,我执行f1['age2'] = 19  # # obj[key]=value时,我执行del f1.age  # del obj.key时,我执行del f1['age2']  # del obj[key]时,我执行f1['name'] = 'alex'  # f1[key]=value时,我执行print(f1.__dict__)  # {'name': 'alex'}

转载于:https://www.cnblogs.com/lshedward/p/10439826.html

你可能感兴趣的文章
Android学习笔记28:对话框Dialog控件的使用
查看>>
搬家到CSDN通知
查看>>
rand5()构造rand7() [转]
查看>>
ECSHOP增加模板页的方法
查看>>
java String 中length()的长度计算,substring(0,n);的截取长度计算
查看>>
假数据绑定列表
查看>>
说到作到,HADOOP双节点配置成功
查看>>
URL中的"#"
查看>>
拦截器、方法-浅谈Struts2拦截器的原理与实现-by小雨
查看>>
广播与P2P通道(上) -- 问题与方案
查看>>
测试单元测试javascript单元测试及框架介绍
查看>>
SQL 必知必会·笔记<3>过滤数据
查看>>
Android布局中涉及的一些属性
查看>>
网站编程安全之更改文章时注意事项
查看>>
Java:多线程,CountDownLatch同步器
查看>>
SCP命令小例子
查看>>
easyui简单使用
查看>>
DevExpress VCL 已死-----关于13.1.4的发布。
查看>>
关于Java中System.gc() 与System.runFinalization()
查看>>
Android杂谈--HTC等手机接收不到UDP广播报文的解决方案
查看>>