ผลต่างระหว่างรุ่นของ "Python Programming/Modules"
ไปยังการนำทาง
ไปยังการค้นหา
Cardcaptor (คุย | มีส่วนร่วม) (สร้างหน้าใหม่: แฟ้มโปรแกรม Python ใด ๆ จะถูกจัดโมดูล ซึ่งถูกเรียกใช้ได้จาก...) |
Chaiporn (คุย | มีส่วนร่วม) |
||
(ไม่แสดง 2 รุ่นระหว่างกลางโดยผู้ใช้ 1 คน) | |||
แถว 3: | แถว 3: | ||
พิจารณาตัวอย่างต่อไปนี้ สมมติว่าโปรแกรมด้านล่างถูกเก็บอยู่ในแฟ้ม mymodule.py | พิจารณาตัวอย่างต่อไปนี้ สมมติว่าโปรแกรมด้านล่างถูกเก็บอยู่ในแฟ้ม mymodule.py | ||
− | < | + | <syntaxhighlight lang="python"> |
# แฟ้ม mymodule.py | # แฟ้ม mymodule.py | ||
def my_add(a,b): | def my_add(a,b): | ||
return a+b | return a+b | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | เราสามารถเรียกใช้ฟังก์ชันดังกล่าวในอีกโปรแกรมได้ดังตัวอย่างต่อไปนี้ | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | import mymodule | ||
+ | |||
+ | print mymodule.my_add(10,20) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | การสั่ง import mymodule เปรียบเสมือนการเรียกแฟ้ม mymodule.py เข้ามารวมกับโปรแกรมที่เราเขียน ถ้าในแฟ้ม mymodule.py มีคำสั่งให้ทำงานอยู่ คำสั่งเหล่านั้นจะถูกเรียกใช้ด้วยเช่นเดียวกัน | ||
+ | |||
+ | อย่างไรก็ตาม บางครั้งเราเขียนโปรแกรม Python เพื่อใช้ และในขณะเดียวกันก็ต้องการให้ฟังก์ชันที่เขียนสามารถนำไปใช้ในโปรแกรมอื่น ๆ ด้วย เราสามารถตรวจสอบได้โดยใช้ตัวแปร __name__ ดังเช่นตัวอย่างด้านล่างนี้ | ||
+ | |||
+ | <syntaxhighlight lang="python"> | ||
+ | # แฟ้ม 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() | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | เมื่อเราเรียก python mymodule.py เราจะได้ผลลัพธ์เป็น | ||
+ | |||
+ | <pre> | ||
+ | You run mymodule.py | ||
+ | 300 | ||
</pre> | </pre> | ||
+ | |||
+ | อย่างไรก็ตามฟังก์ชัน main จะไม่ถูกเรียกในโปรแกรมที่เรียกใช้โมดูล mymodule | ||
+ | |||
+ | {{Python Programming/Navigation|Inheritance|}} |
รุ่นแก้ไขปัจจุบันเมื่อ 04:22, 4 ตุลาคม 2558
แฟ้มโปรแกรม 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 | สารบัญ | หน้าต่อไป: |