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

本文共 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

你可能感兴趣的文章
浅谈for...in与for....of
查看>>
无效报表文件路径
查看>>
MySQL使用存储过程,光标的使用的简单示例
查看>>
php.ini在php脚本文件中的配置
查看>>
C语言 电梯函数
查看>>
html 做的简历
查看>>
neural_transfer风格迁移
查看>>
测试ip
查看>>
ex1.1
查看>>
day10_friest_自动化
查看>>
Entity Framework直接执行SQL语句
查看>>
NodeJS Socket Broadcast
查看>>
BZOJ5168:[HAOI2014]贴海报(线段树)
查看>>
<%@Page%>中的Codebehind AytoEventWireup.inherits有何作用?
查看>>
64. Minimum Path Sum
查看>>
SQL Server 导入bak备份出错
查看>>
JavaScript中的私有/静态属性
查看>>
Ubuntu下安装XAMPP
查看>>
C# ExpandoObject用法
查看>>
【SICP练习】135 练习3.66
查看>>