Why does argparse return None instead of [] if an append action isn't used?

Peter Otten __peter__ at web.de
Mon Jan 26 15:04:51 CET 2015


Adam Funk wrote:

> On 2015-01-09, Ned Batchelder wrote:
> 
>> On 1/9/15 9:44 AM, Adam Funk wrote:
>>> This makes it a bit more trouble to use:
>>>
>>>    if options.bar:
>>>       for b in options:bar
>>>          do_stuff(b)
>>>
>>> instead of
>>>
>>>    for b in options.bar
>>>       do_stuff(b)
>>
>> This doesn't answer why the value defaults to None, and some people may
>> recoil at it, but I've used:
>>
>>      for b in options.bar or ():
>>          do_stuff(b)
> 
> Do you mean "for b in options.bar or []:" ?

Doesn't matter; in the context of a for loop any empty iterable would do.




More information about the Python-list mailing list