基准测试表明您对其性能影响的怀疑似乎是正确的:
$ python -m timeit -s 'd = {"key": "value"}' 'd["key"] = "value"'
10000000 loops, best of 3: 0.0741 usec per loop
$ python -m timeit -s 'd = {"key": "value"}' 'd.update(key="value")'
1000000 loops, best of 3: 0.294 usec per loop
$ python -m timeit -s 'd = {"key": "value"}' 'd.update({"key": "value"})'
1000000 loops, best of 3: 0.461 usec per loop
也就是说,它在我的机器上慢了大约六倍。但是,如果您需要最佳性能,那么Python已经不是您要使用的语言,因此,我建议您使用这种情况下最易读的语言。对于很多事情,这就是这种[]
方式,尽管update
在这样的情况下更易读:
configuration.update(
timeout=60,
host='example.com',
)
…或类似的东西。