D
David A. Barrett
I've noticed that it's possible to create conflicting instances of the
collections.namedtuple class:
from collections import namedtuple as nt
IX = nt('X', 'a b')
IY = nt('Y', 'c d')
x = IX(0, 1)
y = IY(2, 3)
The above are non-conflicting class instances and of two distinct
namedtuple classes and distinct instances of those classes, but what
happens with this?
IX2 = nt('X', 'g')
z = IX2(10)
It looks like IX and IX2 are two distinct classes, which makes sense,
but what is the classname parameter passed to the constructor used for?
Is it an error to construct two distinct classes with the same value?
I was wondering if it's useful to allow duplicate (consistant)
constructions, but have them simply return the same class instance.
Should inconsistant constructions with the same name raise and exception?
collections.namedtuple class:
from collections import namedtuple as nt
IX = nt('X', 'a b')
IY = nt('Y', 'c d')
x = IX(0, 1)
y = IY(2, 3)
The above are non-conflicting class instances and of two distinct
namedtuple classes and distinct instances of those classes, but what
happens with this?
IX2 = nt('X', 'g')
z = IX2(10)
It looks like IX and IX2 are two distinct classes, which makes sense,
but what is the classname parameter passed to the constructor used for?
Is it an error to construct two distinct classes with the same value?
I was wondering if it's useful to allow duplicate (consistant)
constructions, but have them simply return the same class instance.
Should inconsistant constructions with the same name raise and exception?