วันอาทิตย์ที่ 26 กุมภาพันธ์ พ.ศ. 2560

บทที่ 6 การเขียนฟังก์ชันและมอดูล python

บทที่ 6การเขียนฟังก์ชันและมอดูล

           ในการเขียนคำสั่งหรือการใช้คำสั่งคอมพิวเตอร์ โปรแกรมภาษาคอมพิวเตอร์   ต่าง ๆ มักจะมีฟังก์ชันให้ผู้ใช้เรียกใช้อยู่เป็นจำนวนมาก ฟังก์ชันเหล่านั้นจะเรียกใช้กันซ้ำ ๆ  ดังนั้นโปรแกรมที่ดีจะต้องมีฟังก์ชันให้เลือกใช้ได้หลากหลาย ครอบคลุมในทุก ๆ ด้าน แต่อย่างไรก็ตาม โปรแกรมเมอร์มักจะมีความคิดต่อยอดจากฟังก์ชันที่มีมาให้ โดยการเขียนคำสั่งเป็นฟังก์ชันเพิ่มเติมของตนเอง เพื่อใช้กับการประมวลผลโปรแกรมที่ตนเองคิดไว้ ดังนั้นทุก ๆ ภาษาจึงยอมให้โปรแกรมเมอร์สร้างฟังก์ชันเองได้ เมื่อสร้างฟังก์ชันของตนเองไว้เป็นจำนวนมาก การเก็บรวบรวมโดยจัดเป็นหมวดหมู่ให้สอดคล้องกับหน้าที่ จึงนิยมเก็บเป็นมอดูล ในบทนี้จะกล่าวถึง การสร้างฟังก์ชัน การใช้ฟังก์ชัน และการสร้างมอดูล ดังมีรายละเอียดต่อไปนี้


ความหมายของฟังก์ชัน

คำว่าฟังก์ชัน หลายคนคงคุ้นเคยกับคำนี้เมื่อได้ใช้อุปกรณ์ที่ทำงานด้วยระบบอิเล็กทรอนิกส์ เช่น เครื่องคิดเลขที่ใช้คำนวณค่าทางวิทยาศาสตร์ คงเคยใช้ฟังก์ชันการหาผลลัพธ์ของเลขยกกำลัง เช่น เมื่อต้องการหาค่า 28 โดยทั่วไป การใช้เครื่องคิดเลขต้องเอาเลข 2 คูณกันจำนวน 8 ครั้ง ถ้าหากจำนวนเลขยกกำลังมากขึ้นจะทำให้เสียเวลา ดังนั้นการใช้แป้น “x^y” แทน ด้วยวิธีการกดปุ่มเลข 2 และกดปุ่ม “x^y” และตามด้วยเลข 8 จากนั้นกดปุ่ม “=” จะได้คำตอบเท่ากับ 256  จะเห็นว่าปุ่ม  “x^y”  ได้สร้างขึ้นมาเพื่อทำหน้าที่คำนวณเลขยกกำลังโดยเฉพาะ แทนการคูณแบบปกติ เป็นต้น ทำให้สะดวกรวดเร็วมากขึ้น
                ฟังก์ชัน ตามความหมายของศาสตร์ด้านวิทยาการคอมพิวเตอร์ หมายถึง โปรแกรมย่อย หรืองานย่อย ๆ ภายในโปรแกรมขนาดใหญ่ (หรือเรียกว่า กระบวนงาน เมท็อด หรือรูทีน) ภายในโปรแกรมขนาดใหญ่จะประกอบด้วยคำสั่งต่าง ๆ มากมาย ดังนั้นเพื่อต้องการลดคำสั่งให้สั้นลง จึงได้มีการรวบรวมคำสั่งที่ทำหน้าที่เหมือนกันเข้าด้วยกัน เป็นโปรแกรมย่อย  เมื่อต้องการให้ประมวลผลคำสั่งที่ซ้ำ ๆ เหล่านั้น ตรงตำแหน่งใด จึงเรียกใช้โปรแกรมย่อยนั้นให้ทำงาน ฟังก์ชันเป็นเครื่องมือในการเขียนโปรแกรมที่มีประโยชน์มากสำหรับการนำคำสั่งมาใช้ซ้ำ ๆ สำหรับการเรียกชื่อของฟังก์ชัน ถ้าเป็นกรณีการเขียนโปรแกรมเชิงโครงสร้างมักจะเรียกว่า ฟังก์ชัน แต่ในการเขียนโปรแกรมแบบเชิงวัตถุมักจะเรียกฟังก์ชันว่า เมท็อด  มากกว่า วิธีการสร้างฟังก์ชันจะได้กล่าวในหัวข้อต่อไป

อาร์กิวเมนต์ของฟังก์ชัน
อาร์กิวเมนต์ (argument) หรือพารามิเตอร์ (parameter) หมายถึง ค่าของข้อมูลหรือตัวแปรที่อ้างอิง โดยการส่งผ่านมาจากโปรแกรมหลัก มายังชื่อฟังก์ชันที่กำหนด เพื่อให้ฟังก์ชันนั้นนำค่าของข้อมูลหรือตัวแปรไปประมวลผลใด ๆ รูปแบบการเขียนอาร์กิวเมนต์ของฟังก์ชัน ประกอบด้วยชื่อฟังก์ชันและมีอาร์กิวเมนต์อยู่ภายในวงเล็บหลังชื่อฟังก์ชัน จำนวนข้อมูลหรือตัวแปรมากกว่าหนึ่งให้ใช้เครื่องหมายจุลภาคคั่น แต่บางฟังก์ชันอาจไม่มีอาร์กิวเมนต์ก็ได้ โดยใส่เครื่องหมาย () หลังชื่อฟังก์ชัน อาร์กิวเมนต์ของฟังก์ชันในภาษาไพธอนมีทั้งหมด 4 ชนิดด้วยกัน ได้แก่ ฟังก์ชันที่จำเป็นต้องมีอาร์กิวเมนต์ อาร์กิวเมนต์ที่มีคีย์เวิร์ด อาร์กิวเมนต์ที่มีค่าเริ่มต้น และอาร์กิวเมนต์ที่มีขนาดไม่แน่นอน ดังรายละเอียดต่อไปนี้
1. ฟังก์ชันชนิดที่จำเป็นต้องมีอาร์กิวเมนต์
                ฟังก์ชันที่จำเป็นต้องมีอาร์กิวเมนต์ หมายถึง ฟังก์ชันที่ได้กำหนดให้มีอาร์กิวเมนต์ขณะที่ประกาศชื่อฟังก์ชัน เมื่อโปรแกรมหลักเรียกใช้ฟังก์ชันโดยไม่มีอาร์กิวเมนต์ส่งไปด้วย จะทำให้การทำงานของโปรแกรมมีปัญหา ภาษาไพธอนจะแจ้งเตือนความผิดพลาดให้ทราบทันที ให้พิจาณาจากฟังก์ชันในภาพที่ 6.1



ภาพที่ 6.1  แสดงคำสั่งการไม่มีอาร์กิวเมนต์

จากโปรแกรมดังภาพที่ 6.1 เป็นการสร้างฟังก์ชันเพื่อหาค่าตามสูตรของพิธากอรัส โดยกำหนดให้รับค่าตัวแปรจำนวน 2 ค่า ได้แก่ a และ b ซึ่งเป็นด้าน 2 ด้านที่ประชิดมุมฉาก และต้องการหาค่าด้านที่อยู่ตรงกันข้ามมุมฉาก ได้แก่ ตัวแปร c โดยที่ c = sqrt((a*a)+(b*b)) แล้วส่งค่า c ออกไป เมื่อนำมาประมวลผลคำสั่งในโปรแกรมหลัก หรือคำสั่ง print Pythagoras() ผลลัพธ์ที่ได้จะแสดงผลการทำงานผิดพลาด ดังภาพที่ 6.2



ภาพที่ 6.2 แสดงผลการผิดพลาด
ผลการเรียกใช้ฟังก์ชันโดยไม่มีอาร์กิวเมนต์จะทำให้เกิดข้อผิดพลาดแสดงผลออกมา เมื่อแก้ไขโดยการเรียกใช้ฟังก์ชันให้มีอาร์กิวเมนต์ดังภาพที่ 6.3 ให้พิจารณา             อาร์กิวเมนต์ที่แก้ไขเพิ่มเติม ดังภาพที่ 6.3


ภาพที่ 6.3  แสดงคำสั่งฟังก์ชันที่มีอาร์กิวเมนต์

จากภาพที่ 6.3 เมื่อเรียกใช้ฟังก์ชันโดยระบุอาร์กิวเมนต์จำนวน 2 ค่าตามรูปแบบที่ฟังก์ชันได้สร้างเอาไว้ ผลการทำงานจึงได้ดังภาพที่ 6.4


ภาพที่ 6.4 แสดงผลลัพธ์ของการใช้ฟังก์ชัน


จากภาพที่ 6.4 ผลลัพธ์การเรียกใช้ฟังก์ชัน จากการทำงานของฟังก์ชัน สามารถอธิบายการทำงานได้ดังนี้
                เมื่อใช้คำสั่ง print “ค่าความกว้างของ c :”, Pythagoras(3,4) เมื่อโปรแกรมประมวลผลที่คำสั่งบรรทัดสุดท้าย  Pythagoras(3,4)  โปรแกรมจะไปเรียกฟังก์ชันที่ประกาศเอาไว้ โดยนำเอาค่า 3 และ 4 ไปแทนค่าในตัวแปร a และ เมื่อประมวลผลด้วย c จะส่งค่า c มาที่คำสั่งที่เรียกใช้ฟังก์ชันนั้น ได้แก่ คำสั่งบรรทัดสุดท้าย

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...