python kotlin
在多种语言之间跳来跳去可以帮助您注意到不同语言的习惯用法和最佳做法之间的某些差异。 比较有趣的差异之一与一个函数执行多项操作有关。
Python
我们先来看一下Python。 Python实际上无法重载,因为用相同的名称定义一个新的函数/方法只会覆盖前一个函数/方法。 因此,在Python中使用标志参数(布尔值,枚举或无或某物参数)来表示稍微不同的行为是自然而惯用的,尤其是使用默认参数时。 默认参数使它特别有用,因为标志参数通常具有比其他参数更频繁使用的值。
只有当有人调用该函数并仅传递硬编码的值时,这才真正成为问题。 这主要只适用于布尔标志参数,但是当其名称/值不能自动显示上下文时,也可以适用于其他类型的标志参数。 例如,如下函数:
def lookUpPerson(id, cache_result):
# looks up the person, caching the result if cache_result is True
return person
然后像下面这样调用该函数:
person = lookUpPerson(id, True)
当某人经过并阅读此行时,他们可能不知道或忘记了第二个参数是什么。 令人困惑。 幸运的是&#x