Python ตัวอย่างฟังก์ชั่นหลักและวิธีการ: ทำความเข้าใจ def Main()

ความหมายของ Python ฟังก์ชั่นหลัก?

Python ฟังก์ชั่นหลัก เป็นจุดเริ่มต้นของโปรแกรมใดๆ เมื่อโปรแกรมทำงาน ล่ามภาษา Python จะรันโค้ดตามลำดับ ฟังก์ชัน Main จะถูกดำเนินการก็ต่อเมื่อทำงานเป็น 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__” จากนั้นจึงรันโค้ด จากนั้นคุณจะได้รับเอาต์พุต “hello world!” ในคอนโซลการเขียนโปรแกรม พิจารณาโค้ดต่อไปนี้

def main() ตัวอย่างที่ 2

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

if __name__ == "__main__":
    main()

print("Guru99")


Guru99 ถูกพิมพ์ในกรณีนี้

Python ฟังก์ชั่นหลัก

นี่คือคำอธิบาย

  • เมื่อ Python ล่ามอ่านไฟล์ต้นฉบับ มันจะรันโค้ดทั้งหมดที่พบในนั้น
  • เมื่อ Python รัน “ไฟล์ต้นฉบับ” เป็นโปรแกรมหลัก โดยจะตั้งค่าตัวแปรพิเศษ (__name__) ให้มีค่า (“__main__”)
  • เมื่อคุณรันฟังก์ชัน main ใน python มันจะอ่านคำสั่ง “if” และตรวจสอบว่า __name__ เท่ากับ __main__ หรือไม่
  • In Python “ถ้า__ชื่อ__== “__หลัก__” ช่วยให้คุณสามารถเรียกใช้ 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 โมดูล

นี่คือคำอธิบายโค้ด:


เช่นเดียวกับซี Python ใช้ == เพื่อการเปรียบเทียบ ในขณะที่ = สำหรับการมอบหมาย Python ล่ามใช้ฟังก์ชันหลักได้สองวิธี

วิ่งตรง:

  • __ชื่อ__=__หลัก__
  • ถ้าคำสั่ง == True และสคริปต์ใน _main_will จะถูกดำเนินการ

นำเข้าเป็นโมดูล

  • __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")

หมายเหตุ ตรวจสอบให้แน่ใจว่าหลังจากกำหนดฟังก์ชัน main แล้ว คุณเว้นการย่อหน้าไว้บ้างและอย่าประกาศโค้ดไว้ด้านล่างฟังก์ชัน def main(): มิฉะนั้น จะทำให้เกิดข้อผิดพลาดการย่อหน้า

สรุปโพสต์นี้ด้วย: