[Python-ideas] Python Users Aren't Perfect

Ethan Furman ethan at stoneleaf.us
Thu Dec 15 22:24:26 CET 2011


Ned Batchelder wrote:
>   On 12/15/2011 3:59 PM, Tim Delaney wrote:
>> On 16 December 2011 07:42, Ned Batchelder wrote:
>>
>>     This is another place where Python is inconsistent.  We're told,
>>     "lists are for homogenous sequences of varying length, like a C
>>     array; tuples are for heterogenous aggregations of known length,
>>     like a C struct."   Then we define a function foo(*args), and
>>     Python gives us a tuple!  :-(
>>
>>
>> How is that inconsistent? At the point where the tuple is constructed, 
>> it has a known length. And it's definitely a heterogenous aggregation.
>>
>> I think where you're getting confused is that you're thinking of a 
>> *single* struct definition for every tuple. But the concept you should 
>> have is that each tuple has its own struct definition. And with 
>> functions, the structure is defined at function call time.
>>
> Tim, this seems misguided to me.  Finish that foo function definition: 
> it will *have* to have  "for a in args:"   Since I don't know the length 
> of args when I write the function, I have to treat it as an unknown 
> length.  What good is a "structure" that changes length and definition 
> with every instance?  I think you're trying too hard to fit the reality 
> into the theory.

Python is a dynamic language -- why can't it have dynamic structs?

~Ethan~



More information about the Python-ideas mailing list