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?

  • Rooki
    link
    fedilink
    arrow-up
    6
    arrow-down
    7
    ·
    2 months ago

    The first one is the approach of Functional Programming language (e.g. Python ) and the second one is the approach for Object orientated languages (e.g. Java, C#)

    • FizzyOrange
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      2 months ago

      Python is not a functional language. It’s highly imperative. For example if-else is a statement, not an expression.

      An obvious counter-example is Rust which uses .len() and is a quite functional language (much more than Python).

      Also object oriented languages aren’t the “opposite” of functional languages. Guess what the O stands for in OCaml.

      • Rooki
        link
        fedilink
        arrow-up
        1
        arrow-down
        4
        ·
        2 months ago

        Rust is Object Orientated Language.

        Python is a function Orientated Language. ( Python 3 is less but its still has that orientation )
        Because python is a scripting language and their Object Orientated Features are not that expanded like a “normal” Object Orientated Language like C# or Java.

        https://en.wikipedia.org/wiki/Object-oriented_programming

        • FizzyOrange
          link
          fedilink
          arrow-up
          2
          arrow-down
          2
          ·
          2 months ago

          Not sure where to start with this but… no lol.