-
Guido van Rossum yazdı
than raising TypeError when the other argument is not a BaseSet. This made it necessary to separate the implementation of e.g. __or__ from the union method; the latter should not return NotImplemented but raise TypeError. This is accomplished by making union(self, other) return self|other, etc.; Python's binary operator machinery will raise TypeError. The idea behind this change is to allow other set implementations with an incompatible internal structure; these can provide union (etc.) with standard sets by implementing __ror__ etc. I wish I could do this for comparisons too, but the default comparison implementation allows comparing anything to anything else (returning false); we don't want that (at least the test suite makes sure e.g. Set()==42 raises TypeError). That's probably fine; otherwise other set implementations would be constrained to implementing a hash that's compatible with ours.
dc61cdf6
Adı |
Son kayıt (commit)
|
Son güncelleme |
---|---|---|
Demo | ||
Doc | ||
Grammar | ||
Include | ||
Lib | ||
Mac | ||
Misc | ||
Modules | ||
Objects | ||
PC | ||
PCbuild | ||
Parser | ||
Python | ||
RISCOS | ||
Tools | ||
.cvsignore | ||
.hgtags | ||
LICENSE | ||
Makefile.pre.in | ||
README | ||
configure | ||
configure.in | ||
install-sh | ||
pyconfig.h.in | ||
setup.py |