ผลต่างระหว่างรุ่นของ "Python Programming/Modules"
ไปยังการนำทาง
ไปยังการค้นหา
Cardcaptor (คุย | มีส่วนร่วม) |
Cardcaptor (คุย | มีส่วนร่วม) |
||
แถว 3: | แถว 3: | ||
พิจารณาตัวอย่างต่อไปนี้ สมมติว่าโปรแกรมด้านล่างถูกเก็บอยู่ในแฟ้ม mymodule.py | พิจารณาตัวอย่างต่อไปนี้ สมมติว่าโปรแกรมด้านล่างถูกเก็บอยู่ในแฟ้ม mymodule.py | ||
− | <pre title="editor external | + | <pre title="editor external"> |
# แฟ้ม mymodule.py | # แฟ้ม mymodule.py | ||
แถว 9: | แถว 9: | ||
return a+b | return a+b | ||
</pre> | </pre> | ||
+ | |||
+ | เราสามารถเรียกใช้ฟังก์ชันดังกล่าวในอีกโปรแกรมได้ดังตัวอย่างต่อไปนี้ | ||
+ | |||
+ | <pre title="editor external"> | ||
+ | import mymodule | ||
+ | |||
+ | print mymodule.my_add(10,20) | ||
+ | </pre> | ||
+ | |||
+ | การสั่ง import mymodule เปรียบเสมือนการเรียกแฟ้ม mymodule.py เข้ามารวมกับโปรแกรมที่เราเขียน ถ้าในแฟ้ม mymodule.py มีคำสั่งให้ทำงานอยู่ คำสั่งเหล่านั้นจะถูกเรียกใช้ด้วยเช่นเดียวกัน | ||
+ | |||
+ | อย่างไรก็ตาม บางครั้งเราเขียนโปรแกรม Python เพื่อใช้ และในขณะเดียวกันก็ต้องการให้ฟังก์ชันที่เขียนสามารถนำไปใช้ในโปรแกรมอื่น ๆ ด้วย เราสามารถตรวจสอบได้โดยใช้ตัวแปร __name__ ดังเช่นตัวอย่างด้านล่างนี้ | ||
+ | |||
+ | <pre title="editor external"> | ||
+ | # แฟ้ม mymodule.py | ||
+ | |||
+ | def my_add(a,b): | ||
+ | return a+b | ||
+ | |||
+ | def main(): | ||
+ | # โปรแกรมหลักของแฟ้มนี้ | ||
+ | print "You run mymodule.py" | ||
+ | print my_add(100,200) | ||
+ | |||
+ | if __name__ == "__main__": # ตรวจสอบว่าเป็นแฟ้มหลักหรือไม่ | ||
+ | main() | ||
+ | </pre> | ||
+ | |||
+ | เมื่อเราเรียก python mymodule.py เราจะได้ผลลัพธ์เป็น | ||
+ | |||
+ | <pre> | ||
+ | You run mymodule.py | ||
+ | 300 | ||
+ | </pre> | ||
+ | |||
+ | อย่างไรก็ตามฟังก์ชัน main จะไม่ถูกเรียกในโปรแกรมที่เรียกใช้โมดูล mymodule | ||
+ | |||
+ | {{Python Programming/Navigation|Inheritance|}} |
รุ่นแก้ไขเมื่อ 18:53, 19 ตุลาคม 2551
แฟ้มโปรแกรม Python ใด ๆ จะถูกจัดโมดูล ซึ่งถูกเรียกใช้ได้จากแฟ้ม Python อื่น ๆ
พิจารณาตัวอย่างต่อไปนี้ สมมติว่าโปรแกรมด้านล่างถูกเก็บอยู่ในแฟ้ม mymodule.py
# แฟ้ม mymodule.py def my_add(a,b): return a+b
เราสามารถเรียกใช้ฟังก์ชันดังกล่าวในอีกโปรแกรมได้ดังตัวอย่างต่อไปนี้
import mymodule print mymodule.my_add(10,20)
การสั่ง import mymodule เปรียบเสมือนการเรียกแฟ้ม mymodule.py เข้ามารวมกับโปรแกรมที่เราเขียน ถ้าในแฟ้ม mymodule.py มีคำสั่งให้ทำงานอยู่ คำสั่งเหล่านั้นจะถูกเรียกใช้ด้วยเช่นเดียวกัน
อย่างไรก็ตาม บางครั้งเราเขียนโปรแกรม Python เพื่อใช้ และในขณะเดียวกันก็ต้องการให้ฟังก์ชันที่เขียนสามารถนำไปใช้ในโปรแกรมอื่น ๆ ด้วย เราสามารถตรวจสอบได้โดยใช้ตัวแปร __name__ ดังเช่นตัวอย่างด้านล่างนี้
# แฟ้ม mymodule.py def my_add(a,b): return a+b def main(): # โปรแกรมหลักของแฟ้มนี้ print "You run mymodule.py" print my_add(100,200) if __name__ == "__main__": # ตรวจสอบว่าเป็นแฟ้มหลักหรือไม่ main()
เมื่อเราเรียก python mymodule.py เราจะได้ผลลัพธ์เป็น
You run mymodule.py 300
อย่างไรก็ตามฟังก์ชัน main จะไม่ถูกเรียกในโปรแกรมที่เรียกใช้โมดูล mymodule
หน้าก่อน: Inheritance | สารบัญ | หน้าต่อไป: |