Python ตัวอย่างฟังก์ชั่นหลักและวิธีการ: ทำความเข้าใจ def Main()
ความหมายของ Python ฟังก์ชั่นหลัก?
Python ฟังก์ชั่นหลัก เป็นจุดเริ่มต้นของโปรแกรมใดๆ เมื่อโปรแกรมทำงาน ล่ามภาษา Python จะรันโค้ดตามลำดับ ฟังก์ชัน Main จะถูกดำเนินการก็ต่อเมื่อทำงานเป็น 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__” จากนั้นจึงรันโค้ด จากนั้นคุณจะได้รับเอาต์พุต “hello world!” ในคอนโซลการเขียนโปรแกรม พิจารณาโค้ดต่อไปนี้
def main() ตัวอย่างที่ 2
def main():
print("Hello World!")
if __name__ == "__main__":
main()
print("Guru99")
Guru99 ถูกพิมพ์ในกรณีนี้
นี่คือคำอธิบาย
- เมื่อ 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__)
ตอนนี้ให้พิจารณาว่าโค้ดถูกนำเข้าเป็นโมดูล
import MainFunction
print("done")
นี่คือคำอธิบายโค้ด:
เช่นเดียวกับซี 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(): มิฉะนั้น จะทำให้เกิดข้อผิดพลาดการย่อหน้า




