ผลต่างระหว่างรุ่นของ "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 | สารบัญ | หน้าต่อไป: |