On 7 December 2017 at 18:28, Ethan Furman <et...@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 -- https://mail.python.org/mailman/listinfo/python-list