Beyond other classes documented as functions (classmethod, enumerate, filter, map, reversed, staticmethod, super and zip), the following issues exist: * memoryview, range, and tuple are marked as functions * complex and object treat themselves as functions in their descriptions Attached PR fixes this.
I'm not sure this is an improvement. While it's true that 'complex' is a class, it's described here as a function. Same as 'int'. The fact that it's a function or class isn't so important here. I suspect it will confuse people to have something described as a class in the section titled 'Built-in Functions'. We wouldn't want to change the section to the more correct 'Built-in Callables'.
Please note that several classes are marked as such (e.g., int, float, str, dict, list) and bool for example treats itself as a class in it's description. Perhaps your concerns applies to all those ocurrences too?
Ah, you're correct. I just looked for the word "class" inside the "int" text, and it doesn't appear there: I thought it was deliberately left out. But it does show up in the sub-section header (before "int" itself). Sorry about that. The text changes look good, then. I don't know enough about Sphinx to know how changing the meta-data affects things.
I concur with Eric. These were marked as functions in the function section of the docs. Their role as classes is noted in the body. And their role as complete classes with a listing of their methods is documented elsewhere.