gpt4 book ai didi

python - python中有内置的身份函数吗?

转载 作者:IT老高 更新时间:2023-10-28 12:32:18 25 4
gpt4 key购买 nike

我想指出一个什么都不做的函数:

def identity(*args)
return args

我的用例是这样的

try:
gettext.find(...)
...
_ = gettext.gettext
else:
_ = identity

当然,我可以使用上面定义的 identity,但是内置的肯定会运行得更快(并且避免我自己引入的错误)​​。

显然,mapfilter 使用 None 作为标识,但这是特定于它们的实现的。

>>> _=None
>>> _("hello")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable

最佳答案

做更多的研究,没有,在 issue 1673203 中询问了一个功能来自 Raymond Hettinger said there won't be :

Better to let people write their own trivial pass-throughs and think about the signature and time costs.

所以实际上更好的方法是(lambda 避免命名函数):

_ = lambda *args: args
  • 优点:接受任意数量的参数
  • 缺点:结果是参数的盒装版本

_ = lambda x: x
  • 优点:不改变参数的类型
  • 缺点:只需要 1 个位置参数

关于python - python中有内置的身份函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8748036/

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