Alan Gauld wrote:

In general someone "just learning python" doesn't need to know about special names, they just use the operations they define.
The only exception being __init__() in class definitions.

These methods are really only of interest to someone who wants to define their own abstract data type and make it look like a built in type(*). In the vast majority of beginner scenarios that is not
needed or can be faked without use of them.

I mostly agree with this, more or less, although I would like to correct your terminology. "Abstract data type" does not mean what you seem to think it means here. I think you mean concrete types, not abstract. Types which look like the built-in strings, numbers, lists etc. are concrete types, not abstract.

Working with abstract types is a relatively advanced thing to do, at least in Python, but concrete types are very common.

In computer science, an abstract data type is a theoretical entity used for reasoning about algorithms, rather than an actual programming type. For example, you might define an abstract list type with certain methods, without caring about the actual details of how you would program such a list.

These leads to the other common sense of "abstract", as in "abstract base class" or ABC, which is a class which cannot be instantiated. ABCs must be subclassed before you can use them.


--
Steven

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to