Some surprising, but valid, python syntax examples.

  • verstra
    link
    fedilink
    arrow-up
    3
    ·
    1 year ago

    People designing Python surly didn’t think of this. And when they see this now, the reaction would probably be “this should not be in any codebase, ever”. But it can be. It is valid Python.

    And it’s a consequence of pushing features like unpacking and array comprehension and slice assigning and f-strings without fully exploring how they will interfere. One could argue that Python would be better of without some of these features.

    But I don’t blame them - exploring all possible combinations of features is just too much. The number of combinations grows exponentially and even if you have a fuzzer generating all possible expressions, you don’t have enough time in your life to review all of the combinations.

    • msage
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      Ultimately it’s about the project leader what kind of code gets in.

      You can write unmaintanable code in every language - some even ascending to esoteric levels, like JsFuck

      • verstra
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Well, I’m saying that we could design a language where code would have to be formatted, so it would not be up to the project leader, at least syntactically.

        • msage
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          I personally hate when code forces me to format things one way.

          And there always be a way to go around formatting. Once I forced formatting on git server just to never worry about it.

          • verstra
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            Yeah, that’s true, auto formatters will always have cases which format weirdly and have a nicer alternative.

            But in the end, the formatting does not matter much, so we all benefit for it being formated one way, and one way only.


            How would you format on git server? Create commits automatically, or ammend commits on push?

            • msage
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              I… don’t actually remember. It was a server side hook, I guess it tackled a new commit at the end. But it has been too long ago.

              Nowadays I don’t enforce such strict formatting, I just comment on MRs where I notice transgressions.

              I never liked ammending commits. Had a colleague, team lead, who ammended other peoples commits. Ugh. That’s when I started signing my own work.