gpt4 book ai didi

python - 为什么有时 Python 代码中有 obj_method = obj.method 模式?

转载 作者:行者123 更新时间:2023-12-03 23:47:10 27 4
gpt4 key购买 nike

我想知道使用它的原因是什么以及这种模式何时有帮助。

集合模块中有几个示例。第一名 _count_elements :

def _count_elements(mapping, iterable):
'Tally elements from the iterable.'
mapping_get = mapping.get
for elem in iterable:
mapping[elem] = mapping_get(elem, 0) + 1

Counter.update :
if iterable is not None:
if isinstance(iterable, _collections_abc.Mapping):
if self:
self_get = self.get
for elem, count in iterable.items():
self[elem] = count + self_get(elem, 0)

最佳答案

在这两个示例中,这样做都有性能原因。调用“。”对象上的运算符需要在对象的属性集中查找属性/方法(例如,上例中的 get)。通过将方法分配给新变量(例如 self_get ,您无需在每次迭代中进行此查找。

关于python - 为什么有时 Python 代码中有 obj_method = obj.method 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61982166/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com