> Or unless the notion of ``x in y'' could be were reinterpreted > in terms of a new attribute that strings, chars, and regexps > would share. > > That is, I can imagine defining ``x in y'' anologously to ``x+y'' > as follows: > > If x has an attribute __in__, then ``x in y'' means ``x.__in__(y)'' > > Otherwise, if y has an attribute __rin__, then ``x in y'' means > ``y.__rin__(x)'' > > and so on. > > This is an example of the kind of situation where I imagine type > categories would be useful. It is already done this way, except the attribute is called __contains__ and we only ask the right argument for it: "x in y" calls "y.__contains__(x)" [if it exists; otherwise there's a fallback that loops over y's items comparing them to x]. I suppose we could add __rcontains__ that was tried next, analogously to __add__ and __radd__; or maybe it could be called __in__ instead. :-) Unfortunately that would be a significant change in internal shit. I'm not convinced that this particular example is worth that (especially since chars are already taken care of -- they're just 1-char strings). --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4