ผลต่างระหว่างรุ่นของ "Python Programming/Modules"
ไปยังการนำทาง
ไปยังการค้นหา
Cardcaptor (คุย | มีส่วนร่วม) |
Chaiporn (คุย | มีส่วนร่วม) |
||
| (ไม่แสดง 1 รุ่นระหว่างกลางโดยผู้ใช้ 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 | สารบัญ | หน้าต่อไป: |