__setitem__的功能的demo
时间: 2023-10-25 12:07:33 浏览: 33
当您使用索引值或键对某个对象进行更新时,Python中的__setitem__方法就会被调用。以下是一个简单的演示示例:
```
class MyDict:
def __init__(self, mydict=None):
self.mydict = mydict or {}
def __setitem__(self, key, value):
self.mydict[key] = value
print(f"{key} set to {value}")
def __getitem__(self, key):
return self.mydict[key]
my_dict = MyDict()
my_dict["a"] = 1
my_dict["b"] = 2
print(my_dict["a"])
print(my_dict["b"])
```
在这个例子中,我们创建了一个自定义的字典类MyDict,其中__setitem__方法用于添加新的键值对,并且在添加完成后会打印出已经添加的内容。我们使用MyDict类来创建一个名为my_dict的字典实例,然后通过my_dict["a"] = 1和my_dict["b"] = 2来添加两个新的键值对。最后,我们使用print语句来打印出my_dict中的键"a"和"b"对应的值。
相关问题
__set__和__setitem__
很抱歉,提供的引用中没有提到__set__方法。但是,__setitem__方法是Python中的一个魔法方法,用于在类中定义对象的索引操作。当我们使用类似于obj[key] = value这样的语法时,Python会自动调用__setitem__方法来设置对象的值。这个方法需要至少两个参数,第一个参数是self,表示对象本身,第二个参数是key,表示要设置的键,第三个参数是value,表示要设置的值。我们可以在__setitem__方法中自定义设置键值对的逻辑。
__setitem__
__setitem__是一个魔法函数,用于在自定义类中实现类似于给字典设置键值对的功能。当一个类实现了__setitem__函数,它的对象就可以使用类似于字典的方式设置键值对。这样,我们可以通过s["name"]和s["age"]来获取设置的值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Python----魔法函数__getitem__/__setitem__/__delitem__的用法](https://blog.csdn.net/redrose2100/article/details/118097251)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* [一分钟学会python的__setitem__方法](https://blog.csdn.net/Norsaa/article/details/105565431)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]