Stackoverflow question: Is there a built-in identity function in Python?
Paul Moore
p.f.moore at gmail.com
Thu Dec 7 14:46:03 EST 2017
On 7 December 2017 at 18:28, Ethan Furman <ethan at stoneleaf.us> wrote:
> The simple answer is No, and all the answers agree on that point.
>
> It does beg the question of what an identity function is, though.
>
> My contention is that an identity function is a do-nothing function that
> simply returns what it was given:
>
> --> identity(1)
> 1
>
> --> identity('spam')
> 'spam'
>
> --> identity('spam', 'eggs', 7)
> ('spam', 'eggs', 7)
>
> Of the five answers to that SO question, mine is the only one that will
> correctly handle those three examples. If you agree with my contention feel
> free to up-vote my answer. :)
IMO (as a mathematician ;-)) the identity function is a
*single-argument* function that returns the value passed to it. So:
def identity(x):
return x
See https://en.wikipedia.org/wiki/Identity_function
identity(1,2) is an error.
Extending the definition to multiple arguments causes all sorts of
confusion, as you've seen.
Paul
More information about the Python-list
mailing list