this post was submitted on 28 May 2025
724 points (96.3% liked)

Programmer Humor

23612 readers
1416 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

Also, do y'all call main() in the if block or do you just put the code you want to run in the if block?

you are viewing a single comment's thread
view the rest of the comments
[–] HiddenLayer555@lemmy.ml 74 points 5 days ago* (last edited 5 days ago) (18 children)

Looks at all the Python scripts in my bin folder that I wrote.

[–] 30p87@feddit.org 64 points 5 days ago* (last edited 5 days ago) (15 children)

Never heard of

def main():
    pass

if __name__ == '__main__':
    main()

?

[–] grrgyle@slrpnk.net 49 points 5 days ago (8 children)

I remember how weird this looked the first time I saw it and while I may now understand it, it still looks jank af

[–] bane_killgrind@slrpnk.net 6 points 4 days ago (1 children)

Now think about this, you have logic that doesn't make sense when run directly, but you need it to be a library.

You have multiple name=main statements in some of your functions

[–] grrgyle@slrpnk.net 3 points 4 days ago (1 children)

I'm not sure I'm following the implication. Name=main is for scripts primary, is it not?

I've never thought to add more than one of these conditionals anyway...

[–] bane_killgrind@slrpnk.net 2 points 4 days ago

So you might have a script that does stuff as a library, and it should get environment variables and other info from the calling script. You use the same script for doing one off stuff on different computers.

So you make it do something slightly different or make it set it's path and look into the current folder when you run it directly. This change in logic could be in a few points in the script.

load more comments (6 replies)
load more comments (12 replies)
load more comments (14 replies)