Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Comments on Why can parentheses cause exceptions in Python when using for loops?

Post

Why can parentheses cause exceptions in Python when using for loops?

+7
−4

Using parentheses in Javascript is always needed when you want to create functions, if/else statements and for/while loops. But in Python it has a function that is called tuples. When using an if statement for example, it won't be a big deal when I use parentheses. But when it comes to for...in loops it seems to cause exceptions. For example,

fruits = ["Apple", "Banana", "Orange"]
for (fruit in fruits):
    print(fruit)

This will return an exception, SyntaxError: invalid syntax

But when I remove the parentheses it will work again. Is this because the parentheses that act as a tuple prevent the for...in loop from iterating over the list and setting a value from the list to fruit? Which makes it not possible to be printed?

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

3 comment threads

Because in Python you do not enclose the body of a for-loop in parentheses, unlike C/C++, Java, JS, P... (1 comment)
Downvote: Premise makes no sense (3 comments)
I like this question (1 comment)
Downvote: Premise makes no sense
matthewsnyder‭ wrote over 1 year ago

It seems like the question can be rephrased as: "Why doesn't Python have the same syntax as Javascript?" Well, why would it? Obviously different languages have different syntax and it makes no sense to expect otherwise. If they had the same syntax they would be the same language.

trichoplax‭ wrote over 1 year ago

I don't see the question as asking why Python doesn't have the same syntax as JavaScript. The author understands that the parentheses are not required in Python. The question is why is it OK to add redundant parentheses to an if statement, but not to a for statement.

Until the reason is understood, it seems reasonable to expect that either adding parentheses will break both if and for, or it will break neither. The question is therefore useful, as it leads to an insight into why this is not the case.

trichoplax‭ wrote over 1 year ago

I also like the fact that the question is not complaining about the difference in behaviour between if and for, but actively seeking understanding and asking about a potential explanation.