Προς το περιεχόμενο

Python - Είναι απαραίτητο το "if __name__ == '__main__': " ;


mountzou

Προτεινόμενες αναρτήσεις

Καλησπέρα,

Ξεκινάω να πιάνω μετά από χρόνια τη Python ξανά και επειδή δε ξέρω με τις νέες εκδόσεις τι έχει αλλάξει..

Στο default project του pyCharm φτιάχνει ένα αρχείο main.py και τρέχει το κώδικα εκτελώντας ένα αρχικό if statement.

if __name__ == '__main__':

Γενικά, καταλαβαίνω πως και χωρίς αυτό, τρέχει σωστά, αλλά η συνήθης πρακτική είναι να το πετάμε έξω όταν φτιάχνουμε ένα απλό script ;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Μια χαρά θα τρέξει και χωρίς αυτό. Όμως, εάν αυτό που θες να κάνεις δεν αποτελείται από μόνο ένα δικό σου αρχείο, τότε θα έχεις πρόβλημα.

Όταν κάνεις 

import foo

Τότε ο κώδικας στο αρχείο foo «διαβάζεται» και εκτελείται. Για παράδειγμα, ορίζονται οι συναρτήσεις ή οι κλάσεις ή ό,τι άλλο. Εάν έχεις και κάτι ακόμα εκτός συναντήσεων, τότε θα εκτελεστεί και αυτό.

Το 

if __name__ == ‘’__main__’

διασφαλίζει ότι ο κώδικας θα τρέξει μόνο όταν κληθεί το αρχείο να τρέξει ως “main”.

Έχει κάποια λεπτομέρεια από κάτω για να καταλάβει κανείς γιατί ακριβώς γίνεται αυτό. Εάν σε ενδιαφέρει, ψάξε πώς η Python κάνει initialize τα scripts της και πως φορτώνουν τα modules. 

Επεξ/σία από DrKo
  • Like 4
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...