gpt4 book ai didi

Python 生成器函数名称——前缀有用吗?

转载 作者:太空狗 更新时间:2023-10-29 20:24:42 25 4
gpt4 key购买 nike

<分区>

大多数函数都很容易命名。通常,函数名称基于它的作用或产生的结果类型。

然而,在生成器函数的情况下,结果可能是其他类型的可迭代对象。

def sometype( iterable ):
for x in iterable:
yield some_transformation( x )

sometype 名称给人一种误导,因为该函数不返回指定类型的对象。它实际上是 sometype 的可迭代对象。

iter_sometypegen_sometype 这样的名字感觉有点太像 Hungarian Notation .但是,它似乎也阐明了函数的意图。

更进一步,有许多更特殊的情况,前缀可能会有所帮助。这些是典型的例子,其中一些可以在 itertools 中找到。 .然而,我们经常不得不编写一个具有一定算法复杂性的版本类似于 itertools,但并不完美。

def reduce_sometype( iterable ):
summary = sometype()
for x in iterable:
if some_rule(x):
yield summary
summary= sometype()
summary.update( x )

def map_sometype( iterable ):
for x in iterable:
yield some_complex_mapping( x )

def filter_sometype( iterable ):
for x in iterable:
if some_complex_rule(x):
yield x

iter_map_reduce_filter_ 前缀是否有助于阐明生成器函数的名称?还是只是视觉上的困惑?

如果前缀有用,您有哪些前缀建议?

或者,如果后缀有帮助,您有哪些后缀建议?

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