Τι είναι η κύρια λειτουργία Python;
Η κύρια λειτουργία Python είναι το σημείο εκκίνησης οποιουδήποτε προγράμματος. Όταν εκτελείται το πρόγραμμα, ο διερμηνέας python εκτελεί τον κώδικα διαδοχικά. Η κύρια λειτουργία εκτελείται μόνο όταν εκτελείται ως πρόγραμμα Python. Δεν θα εκτελεστεί η κύρια λειτουργία εάν εισαχθεί ως λειτουργική μονάδα.
Ποια είναι η λειτουργία def main () στο Python; Για να το καταλάβετε, λάβετε υπόψη το ακόλουθο παράδειγμα κώδικα
def main():print ("hello world!")print ("Guru99")
Εδώ, έχουμε δύο κομμάτια εκτύπωσης - το ένα ορίζεται στην κύρια λειτουργία που είναι "Hello World" και το άλλο είναι ανεξάρτητο, το οποίο είναι "Guru99". Όταν εκτελείτε τη συνάρτηση def main ():
- Εκτυπώνεται μόνο το "Guru99"
- και όχι ο κωδικός "Γεια σου Κόσμος"
Είναι επειδή δεν δηλώσαμε τη συνάρτηση κλήσης "if__name __ ==" __main__ ".
Είναι σημαντικό ότι μετά τον ορισμό της κύριας συνάρτησης, καλείτε τον κωδικό με το if__name __ == "__main__" και στη συνέχεια εκτελέστε τον κωδικό, μόνο τότε θα λάβετε την έξοδο "Γεια σας κόσμος!" στην κονσόλα προγραμματισμού. Εξετάστε τον ακόλουθο κώδικα
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")
Το Guru99 είναι τυπωμένο σε αυτήν την περίπτωση.
Εδώ είναι η εξήγηση,
- Όταν ο διερμηνέας Python διαβάζει ένα αρχείο προέλευσης, θα εκτελέσει όλο τον κώδικα που βρίσκεται σε αυτό.
- Όταν το Python εκτελεί το "αρχείο προέλευσης" ως το κύριο πρόγραμμα, ορίζει την ειδική μεταβλητή (__name__) να έχει μια τιμή ("__main__").
- Όταν εκτελείτε την κύρια λειτουργία στο python, τότε θα διαβάσει τη δήλωση "if" και θα ελέγξει εάν το __name__ είναι ίσο με το __main__.
- Στο Python "if__name __ ==" __main__ " μπορείτε να εκτελέσετε τα αρχεία Python είτε ως επαναχρησιμοποιήσιμες μονάδες είτε ως αυτόνομα προγράμματα.
Η μεταβλητή __name__ και η ενότητα Python
Για να κατανοήσετε τη σημασία της μεταβλητής __name__ στη μέθοδο κύριας λειτουργίας Python, λάβετε υπόψη τον ακόλουθο κώδικα:
def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)
Τώρα εξετάστε, ο κώδικας εισάγεται ως ενότητα
import MainFunctionprint("done")
Εδώ είναι η εξήγηση του κώδικα:
Όπως το C, το Python χρησιμοποιεί == για σύγκριση ενώ = για ανάθεση. Ο διερμηνέας Python χρησιμοποιεί την κύρια λειτουργία με δύο τρόπους
άμεση εκτέλεση:
- __name __ = __ main__
- αν η δήλωση == True, και το σενάριο στο _main_w θα εκτελεστεί
εισαγωγή ως ενότητα
- __name __ = όνομα αρχείου της ενότητας
- εάν η δήλωση == false και το σενάριο στο __main__ δεν θα εκτελεστεί
Όταν εκτελείται ο κωδικός, θα ελέγξει το όνομα της ενότητας με το "if". Αυτός ο μηχανισμός διασφαλίζει ότι η κύρια λειτουργία εκτελείται μόνο ως άμεση εκτέλεση και όχι όταν εισάγεται ως μονάδα.
Τα παραπάνω παραδείγματα είναι οι κωδικοί Python 3, εάν θέλετε να χρησιμοποιήσετε το Python 2, σκεφτείτε να ακολουθήσετε τον κωδικό
def main():print "Hello World!"if __name__== "__main__":main()print "Guru99"
Στο Python 3, δεν χρειάζεται να χρησιμοποιήσετε το if__name. Λειτουργεί επίσης ο ακόλουθος κώδικας
def main():print("Hello World!")main()print("Guru99")
Σημείωση: Βεβαιωθείτε ότι μετά τον ορισμό της κύριας λειτουργίας, αφήνετε κάποια εσοχή και δεν δηλώνετε τον κωδικό ακριβώς κάτω από τη λειτουργία def main (): διαφορετικά, θα δώσει σφάλμα εσοχής.