this post was submitted on 31 Oct 2024
49 points (96.2% liked)

Python

6392 readers
71 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

📅 Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
💓 Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 2 weeks ago (2 children)

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?

[–] [email protected] 2 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

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

[–] [email protected] 3 points 2 weeks ago* (last edited 2 weeks ago)

Thanks so much to you and @[email protected] for helping! This has been driving me crazy for like 3-4 weeks now! >_<

[–] FizzyOrange 2 points 2 weeks 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.