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 @[email protected] and @[email protected] in particular! ^_^
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?
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
Thanks so much to you and @[email protected] for helping! This has been driving me crazy for like 3-4 weeks now! >_<
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
which is perfectly valid code; it will just set
a
to befalse
, because the answer to the question “does 3 equal 4?” is no.I think you’ve got it anyway.