Note: The attached image is a screenshot of page 31 of Dr. Charles Severance’s book, Python for Everybody: Exploring Data Using Python 3 (2024-01-01 Revision).


I thought = was a mathematical operator, not a logical operator; why does Python use

>= instead of >==, or <= instead of <==, or != instead of !==?

Thanks in advance for any clarification. I would have posted this in the help forums of FreeCodeCamp, but I wasn’t sure if this question was too…unspecified(?) for that domain.

Cheers!

 


Edit: I think I get it now! Thanks so much to everyone for helping, and @FizzyOrange@programming.dev and @itslilith@lemmy.blahaj.zone in particular! ^_^

  • EveryMuffinIsNowEncryptedOP
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 months ago

    Ohhhhh! I think I get it now!

    So == means “equals” and is a declaration of the state of things, while = means "assigned the value of` and is a command toward a certain state of things. A description vs an action. An observation of a thing as opposed to effecting that thing.

    Is that about right?

    • itslilith
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      2 months ago

      That’s exactly it. Some languages (e.g. Rust) make it even more clear¹, by following math notation for assignment even closer:

      let x = 5;
      

      ¹ simplified Rust a little bit, there’s a bit more nuance

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      Well == is a question or a query rather than a declaration of the state of things because it isn’t necessarily true.

      You can write

      a = (3 == 4)
      

      which is perfectly valid code; it will just set a to be false, because the answer to the question “does 3 equal 4?” is no.

      I think you’ve got it anyway.