经常操作 dict
```
d = {}
d['name'] ='tom'
d['age'] = 30
```

这样得代码, 其实我很想有一个 set 方法, 我觉得这样
比上面写法更好

而且 dict 明明有 get 方法, 有 set 很合理

而且还有个 setdefault 方法, 而且这个方法很容易混淆, 因为这个方法
主要作用是获取值, 并不是设置值得, 这个名字一看都不清楚什么意思

总的来说, 我认为应该有 set 方法

但 python 一直没有, 而且既然没有, 后面加上应该不会有任何不兼容

当然这么明显得事情 python 开发组不可能不知道, 那么到底是什么原因
不能放一个 set 方法呢
举报· 200 次点击
登录 注册 站外分享
12 条回复  
DOLLOR 小成 2024-10-15 00:13:33
@julyclyde 不是吧? python 里 set 可以作为变量名、函数名用
Trim21 小成 2024-10-14 23:57:06
@quicknight 真的会有歧义吗,好奇有哪个 API 设计类似方法的时候把 value 放在前面吗?
quicknight 初学 2024-10-14 23:52:59
d.set('name', 'tom'),是把 name 给 tom 还是把 tom 给 name ?
d['name'] = 'tom'这种方式没有这个二义性
xing7673 小成 2024-10-14 23:48:20
@wxf666 = 号作为分隔符更清晰
wxf666 小成 2024-10-14 23:21:10
不懂就问,`d.set('name', 'tom')` 比 `d['name'] = 'tom'` 好在哪儿呢?

https://i.imgur.com/F29pmQ6.png https://i.imgur.com/F29pmQ6.png
009694 小成 2024-10-14 21:51:12
get 是为了默认值 set 是为了啥? 因为你 java 先入为主的概念
est 小成 2024-10-14 21:50:23
.update()  啊

LZ 可以了解一下一个叫 UserDict 的东西。
keakon 小成 2024-10-14 21:29:35
因为有 __setitem__ 方法。提供 dict.get 方法是因为 __getitem__ 在 key 不存在时会抛出异常。
cmdOptionKana 初学 2024-10-14 21:28:55
python 语言本身的设计理念就是想一出是一出,很自由,没啥特殊原因,纯粹当时设计者拍脑袋觉得这样够用,后续也没啥大问题就不改了。
lucasj 小成 2024-10-14 21:19:10
我也觉得很合理。
12下一页
返回顶部