On Wed, Aug 26, 2020 at 1:41 AM Steven D'Aprano <steve@pearwood.info> wrote:
On Tue, Aug 25, 2020 at 10:22:20AM -0700, Christopher Barker wrote:

> This one is easier than most because it's pretty much a do we or don't we
> question, with the spelling semantics, all pretty much already decided.

Is it to be added to lists, or lists and tuples? How about range
objects?

    range(1, 9, 2).get(100)

Strings and bytes?

    "abc".get(100)

I think at a minimum it should be in lists and tuples.

I can't see any reason not to add it to range, strings, bytes, deque, array, etc. beyond implementation effort. I also think it's fine to leave them out at first.
 
Do we require 3rd party sequences to add this as well, in order to
continue being called sequences?

I think this is pretty much the same question as the discussion about ABCs. It seems like the answer is "no", or at least "not yet".
 
> Though I haven't quite seen it said explicitly -- is this proposed to be
> added to the Sequence ABC?

If so, do we require that it return None as the default, or are types
permitted to return whatever missing value they see fit?

This should be identical to Mapping.get. None isn't required to be the default missing value - callers can specify any value they want - but None is the default default, i.e. `def get(self, item, default=None)`. I don't know of any Mapping or mapping-like class that has a different default default. If such classes exist, then I guess None is just the default default default :)