Python Παράδειγμα κύριας συνάρτησης και μεθόδου: Κατανοήστε το def Main()
Τι είναι Python Κύρια Λειτουργία;
Python κύρια λειτουργία είναι η αφετηρία οποιουδήποτε προγράμματος. Όταν εκτελείται το πρόγραμμα, ο διερμηνέας python εκτελεί τον κώδικα διαδοχικά. Η κύρια συνάρτηση εκτελείται μόνο όταν εκτελείται ως a Python πρόγραμμα. Δεν θα εκτελέσει την κύρια λειτουργία εάν έχει εισαχθεί ως λειτουργική μονάδα.
Σε τι βρίσκεται η συνάρτηση def main(). Python? Για να το κατανοήσετε αυτό, εξετάστε το ακόλουθο παράδειγμα κώδικα
def main() Παράδειγμα 1
def main(): print ("Hello World!") print ("Guru99")
Εδώ, έχουμε δύο κομμάτια εκτύπωσης - το ένα ορίζεται στην κύρια λειτουργία που είναι "Hello World!" και το άλλο είναι ανεξάρτητο, το οποίο είναι "Guru99". Όταν εκτελείτε τη συνάρτηση def main ():
- Εκτυπώνεται μόνο το "Guru99".
- και όχι τον κωδικό "Hello World!"
Είναι επειδή δεν δηλώσαμε την κλήση συνάρτηση "if__name__== "__main__".
Είναι σημαντικό αφού ορίσετε την κύρια συνάρτηση, να καλέσετε τον κωδικό με if__name__== "__main__" και μετά να εκτελέσετε τον κωδικό, μόνο τότε θα λάβετε την έξοδο "γεια σας κόσμο!" στην κονσόλα προγραμματισμού. Σκεφτείτε τον παρακάτω κώδικα
def main() Παράδειγμα 2
def main(): print("Hello World!") if __name__ == "__main__": main() print("Guru99")
Το Guru99 εκτυπώνεται σε αυτήν την περίπτωση.
Εδώ είναι η εξήγηση,
- Όταν Python Ο διερμηνέας διαβάζει ένα αρχείο προέλευσης, θα εκτελέσει όλο τον κώδικα που βρίσκεται σε αυτό.
- Όταν Python εκτελεί το "αρχείο πηγής" ως κύριο πρόγραμμα, ορίζει την ειδική μεταβλητή (__name__) να έχει μια τιμή ("__main__").
- Όταν εκτελείτε την κύρια συνάρτηση στην python, θα διαβάσει τη δήλωση "if" και θα ελέγχει εάν το __name__ ισούται με __main__.
- In 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 MainFunction print("done")
Εδώ, είναι η εξήγηση του κώδικα:
Όπως ο C, Python χρησιμοποιεί == για σύγκριση ενώ = για ανάθεση. Python Ο διερμηνέας χρησιμοποιεί την κύρια συνάρτηση με δύο τρόπους
απευθείας εκτέλεση:
- __όνομα__=__κύριο__
- if δήλωση == True, και το σενάριο στο _main_θα εκτελεστεί
εισαγωγή ως μονάδα
- __name__= όνομα αρχείου ενότητας
- εάν η δήλωση == false, και το σενάριο στο __main__ δεν θα εκτελεστεί
Όταν εκτελεστεί ο κώδικας, θα ελέγξει για το όνομα της μονάδας με "if". Αυτός ο μηχανισμός διασφαλίζει ότι η κύρια λειτουργία εκτελείται μόνο ως άμεση εκτέλεση και όχι όταν εισάγεται ως λειτουργική μονάδα.
Τα παραπάνω παραδείγματα είναι Python 3 κωδικούς, αν θέλετε να χρησιμοποιήσετε Python 2, λάβετε υπόψη τον ακόλουθο κώδικα
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, δεν χρειάζεται να χρησιμοποιήσετε if__name. Ο παρακάτω κώδικας λειτουργεί επίσης
def main(): print("Hello World!") main() print("Guru99")
Σημείωση: Βεβαιωθείτε ότι μετά τον ορισμό της κύριας συνάρτησης, αφήνετε κάποια εσοχή και δεν δηλώνετε τον κώδικα ακριβώς κάτω από τη συνάρτηση def main(): διαφορετικά, θα δώσει σφάλμα εσοχής.