Python Παράδειγμα κύριας συνάρτησης και μεθόδου: Κατανοήστε το def Main()

Τι είναι Python Κύρια Λειτουργία;

Python κύρια λειτουργία είναι η αφετηρία οποιουδήποτε προγράμματος. Όταν εκτελείται το πρόγραμμα, ο διερμηνέας python εκτελεί τον κώδικα διαδοχικά. Η κύρια συνάρτηση εκτελείται μόνο όταν εκτελείται ως a Python πρόγραμμα. Δεν θα εκτελέσει την κύρια λειτουργία εάν έχει εισαχθεί ως λειτουργική μονάδα.

Σε τι βρίσκεται η συνάρτηση def main(). Python? Για να το κατανοήσετε αυτό, εξετάστε το ακόλουθο παράδειγμα κώδικα

def main() Παράδειγμα 1

def main():
     print ("Hello World!")
print ("Guru99")

Python Κύρια Καθήκοντα

Εδώ, έχουμε δύο κομμάτια εκτύπωσης - το ένα ορίζεται στην κύρια λειτουργία που είναι "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 Ο διερμηνέας διαβάζει ένα αρχείο προέλευσης, θα εκτελέσει όλο τον κώδικα που βρίσκεται σε αυτό.
  • Όταν 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__)

Η μεταβλητή __name__ και Python Μονάδα μέτρησης

Τώρα σκεφτείτε ότι ο κώδικας εισάγεται ως λειτουργική μονάδα

import MainFunction

print("done")

Η μεταβλητή __name__ και Python Μονάδα μέτρησης

Εδώ, είναι η εξήγηση του κώδικα:


Όπως ο 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(): διαφορετικά, θα δώσει σφάλμα εσοχής.