[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