HiddenLayer555@lemmy.ml to Programmer Humor@programming.devEnglish · 4 天前Python needs an actual default functionlemmy.mlexternal-linkmessage-square160fedilinkarrow-up1749arrow-down129file-text
arrow-up1720arrow-down1external-linkPython needs an actual default functionlemmy.mlHiddenLayer555@lemmy.ml to Programmer Humor@programming.devEnglish · 4 天前message-square160fedilinkfile-text
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?
minus-squareJATth@lemmy.worldlinkfedilinkEnglisharrow-up18·3 天前I would put my code in a def main(), so that the local names don’t escape into the module scope: if __name__ == '__main__': def main(): print('/s') main() (I didn’t see this one yet here.)
minus-squareYourShadowDani@lemm.eelinkfedilinkEnglisharrow-up5·3 天前I’m a little new to Python standards. Is this better or worse than putting the def main(): outside the if statement (but calling main() inside it)
minus-squareJATth@lemmy.worldlinkfedilinkEnglisharrow-up5·3 天前I intended this an sarcastic example; I think it’s worse than putting the main outside of the branch because of the extra indent-level. It does have an upside that the main() doesn’t exist if you try import this as an module.
minus-squaremyotheraccount@lemmy.worldlinkfedilinkarrow-up5·2 天前I thought confusion about indent levels was the whole point of using python
minus-squaremexicancartel@lemmy.dbzer0.comlinkfedilinkEnglisharrow-up2·2 天前But it feels like main function should not be indented
I would put my code in a
def main()
, so that the local names don’t escape into the module scope:if __name__ == '__main__': def main(): print('/s') main()
(I didn’t see this one yet here.)
I’m a little new to Python standards. Is this better or worse than putting the
def main():
outside the if statement (but callingmain()
inside it)I intended this an sarcastic example; I think it’s worse than putting the main outside of the branch because of the extra indent-level. It does have an upside that the
main()
doesn’t exist if you try import this as an module.I thought confusion about indent levels was the whole point of using python
But it feels like main function should not be indented