Skip Navigation

Confused about logical operators (i.e. "comparison operators", or "boolean operators") in Python

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!

&nbsp;


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! _

33 comments
  • Imagine saying these operators out loud.

    > is "is greater than"

    So it makes sense to use >= as "is greater than or equal to"

    You'd think = would be "is equal to", but it's already used for "set equal to" (i.e., assignment).

    So what symbol do we use for "is equal to"? The symbol used in many programming languages is ==, so Python chose to follow that convention.

    It's worth noting that there are other languages that use = as "is equal to", and use something else for assignment (like := for example). It just comes down to the history of the language and what conventions the original authors decided to use.

  • If I were to speculate, I'd say it came from the == operator (Boolean equality comparison) and then later, when that was extended to include Boolean less-than-or-equal and greater-than-or-equal, the decision was made to keep them 2 characters long. Either because it was visually cleaner, or just because programmers love being lazy (read: efficient)

33 comments