Mutable default values for function parameters
Ignacio Vazquez-Abrams
ignacio at openservices.net
Thu Oct 4 18:00:47 EDT 2001
On Thu, 4 Oct 2001, Brian Quinlan wrote:
> Here is my proposed expression:
>
> d = ((d is not None and [d]) or [[]])[0]
>
> Here is the test:
>
> def test(d = None):
> return ((d is not None and [d]) or [[]])[0]
>
> assert test() == []
> assert test(None) == []
> assert test(0) == 0
> assert test('') == ''
> assert test(5) == 5
> assert test([1,2,3]) == [1,2,3]
>
> I believe that those are the semantics that you are looking for? And
> so easy to understand...
This is your brain on drugs. Any questions? ;)
--
Ignacio Vazquez-Abrams <ignacio at openservices.net>
More information about the Python-list
mailing list