Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #21613

Re: Enchancement suggestion for argparse: intuit type from default

Date 2012-03-14 17:26 +0000
From MRAB <python@mrabarnett.plus.com>
Subject Re: Enchancement suggestion for argparse: intuit type from default
References <jjocvo$5i2$1@panix2.panix.com> <87zkbkgp67.fsf@benfinney.id.au> <4f6094c5$0$29972$c3e8da3$5496439d@news.astraweb.com> <87399bgw18.fsf@benfinney.id.au> <roy-AEEEC5.09304414032012@news.panix.com>
Newsgroups comp.lang.python
Message-ID <mailman.641.1331745833.3037.python-list@python.org> (permalink)

Show all headers | View raw


On 14/03/2012 13:30, Roy Smith wrote:
> In article<87399bgw18.fsf@benfinney.id.au>,
>   Ben Finney<ben+python@benfinney.id.au>  wrote:
>
>>  Right. I dislike proposals for run-time type inference in Python, since
>>  they are too magical.
>>
>>  Especially since we're talking about user input (arguments from the
>>  command line to the program); that requires more explicit declarations
>>  and checking, not less.
>>
>>  >  What if you want an argument --foo that will accept arbitrary types? Then
>>  >  you would need some way to tell argparse not to infer the type from the
>>  >  default.
>>
>>  So we would then need to special-case the special-case? Even more reason
>>  to dislike this proposal.
>>
>>  >  Explicit declarations should be used only for the uncommon cases where
>>  >  type inference cannot cope.
>>
>>  That's our point of disagreement, then: I think explicit declarations
>>  should be required regarding user input.
>
> I wasn't suggesting that the type be inferred from what the user
> entered.  I was suggesting it be inferred from what the programmer had
> done (i.e. what value they had given the 'default' parameter).
>
In other words, if there's a default but no explicit type, then the
type is the type of the default.

> It's already inferred that the type is a string if you don't give it any
> value.  What possible meaning could:
>
> parser.add_argument('--foo', default=100)
>
> have?  If I run the program with:
>
> $ prog
>
> then foo defaults to the integer 100, but if I run it with:
>
> $ prog --foo=100
>
> then I get the string "100"?  Surely there's not much of a use case for
> that.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Enchancement suggestion for argparse: intuit type from default roy@panix.com (Roy Smith) - 2012-03-13 17:08 -0400
  Re: Enchancement suggestion for argparse: intuit type from default Ben Finney <ben+python@benfinney.id.au> - 2012-03-14 08:35 +1100
    Re: Enchancement suggestion for argparse: intuit type from default Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2012-03-14 12:53 +0000
      Re: Enchancement suggestion for argparse: intuit type from default Ben Finney <ben+python@benfinney.id.au> - 2012-03-15 00:19 +1100
        Re: Enchancement suggestion for argparse: intuit type from default Roy Smith <roy@panix.com> - 2012-03-14 09:30 -0400
          Re: Enchancement suggestion for argparse: intuit type from default MRAB <python@mrabarnett.plus.com> - 2012-03-14 17:26 +0000
          Re: Enchancement suggestion for argparse: intuit type from default Ian Kelly <ian.g.kelly@gmail.com> - 2012-03-14 13:03 -0600
  Re: Enchancement suggestion for argparse: intuit type from default rusi <rustompmody@gmail.com> - 2012-03-14 03:22 -0700
  Re: Enchancement suggestion for argparse: intuit type from default Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> - 2012-03-14 13:26 +0100
  Re: Enchancement suggestion for argparse: intuit type from default John Nagle <nagle@animats.com> - 2012-03-14 16:32 -0700
    Re: Enchancement suggestion for argparse: intuit type from default Roy Smith <roy@panix.com> - 2012-03-14 20:52 -0400
      Re: Enchancement suggestion for argparse: intuit type from default Ben Finney <ben+python@benfinney.id.au> - 2012-03-15 12:22 +1100
        Re: Enchancement suggestion for argparse: intuit type from default Cameron Simpson <cs@zip.com.au> - 2012-03-15 16:59 +1100
        Re: Enchancement suggestion for argparse: intuit type from default Robert Kern <robert.kern@gmail.com> - 2012-03-15 10:06 +0000
          Re: Enchancement suggestion for argparse: intuit type from default Roy Smith <roy@panix.com> - 2012-03-15 09:28 -0400
            Re: Enchancement suggestion for argparse: intuit type from default Cameron Simpson <cs@zip.com.au> - 2012-03-16 08:18 +1100
      Re: Enchancement suggestion for argparse: intuit type from default MRAB <python@mrabarnett.plus.com> - 2012-03-15 02:10 +0000

csiph-web