Just started as in, I’m about an hour into a 4 hour intro video. Seeing two basic ways of manipulating things and don’t understand the difference.

If I want to know the length of a string and I just guess at how to do it I would try one of these two things,

  1. Len(string)
  2. string.len()

What is the difference between these types of statements? How do I think about this to know which one I should expect to work?

    • charolastra
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      5 months ago

      Keyword “typically”. If I’m overriding dunder methods, then I’ll typically need to call the super method as well. It’s not like it’s forbidden.

      Consider the following:

      class MyStr(str):
           def len(self):
                return len(self)
                # OR
                return self.__len__()
      

      Both of the above return values are perfectly valid Python.