How often have you used the function
range() in Python? It’s often something you use early on as you learn about the
But… did you know it’s not really a function, after all?!
Have a look at the docs or use
help() to check…
range is a class. And therefore
range() creates an instance of the class as is always the case with a class.
So, my question is: “Does it matter?”
Technically, it does. A function is not a class – they’re different things
But in practice, what matters is how it behaves and not what it is!
This is a key principle in Python when thinking about data types. What they do and how they behave matters more that what they are!
So you can use
range() like a function, even though it’s not!
@s_gruppetta Is this really so different to other languages. The instance created by range() is simply enumerable (including iterators). This concept exists in lot of languages.
@CodingKurzgeschichten This fits well within the concept of duck-typing which is true for some language but not others.
What matters here is not what it is but how it behaves, and this is a broader mindset in languages such as Python
QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.