top of page

3.4 ฟังก์ชัน

       

                 ฟังก์ชัน (function) เป็นโปรแกรมย่อยที่เขียนขึ้นเพื่อให้ทํางานเฉพาะตามที่กําหนด ผู้เขียนโปรแกรมสามารถ เรียกใช้ฟังก์ชันได้สะดวกโดยไม่ต้องเขียนชุดคําสั่งซ้ําอีก ทําให้การเขียนโปรแกรมขนาดใหญ่ทําได้รวดเร็วและ ตรวจสอบความถูกต้องของโปรแกรมได้ง่ายขึ้น

               ไพทอนมีฟังก์ชันให้ใช้งานเป็นจํานวนมาก นักเรียนเคยใช้งานมาแล้วหลายคําสั่ง เช่น input (), print (), int(), float() และ type () การใช้งานฟังก์ชันทําได้โดยเรียกชื่อฟังก์ชัน พร้อมกับส่งค่าของข้อมูลตามจํานวน ที่ฟังก์ชันกําหนด โดยระบุอยู่ภายในเครื่องหมาย () ตามหลังชื่อฟังก์ชัน หากค่าของข้อมูลที่ส่งไปให้กับฟังก์ชัน มีมากกว่าหนึ่งจํานวนจะคั่นด้วยเครื่องหมายจุลภาค ( , ) โดยจํานวนและชนิดข้อมูลของค่าที่จะส่งให้กับแต่ละฟังก์ชัน จะต้องขึ้นอยู่กับฟังก์ชันนั้น ๆ ว่าถูกออกแบบไว้ให้รับค่าข้อมูลชนิดใด จํานวน และเรียงลําดับกันอย่างไร เช่น

                print ('area =', area) เป็นการเรียกฟังก์ชัน print () ที่ส่งค่าสตริง 'area =' และค่าของ ตัวแปร area เมื่อฟังก์ชัน      print ( ) ทํางาน ก็จะพิมพ์ค่าที่ส่งให้ออกมาทางจอภาพ ตามลําดับจากซ้ายไปขวา

                int ('20') เป็นการเรียกฟังก์ชัน int () ที่ส่งค่าสตริงไปให้เพียงหนึ่งจํานวน คือ 20

                นอกจากนี้ เรายังสามารถกําหนดให้ฟังก์ชันมีการคืนค่า (return) หรือส่งค่ากลับเมื่อฟังก์ชันทํางานเสร็จแล้ว ตัวอย่างเช่น การเรียกใช้ฟังก์ชัน int ('20') เป็นการส่งค่าสตริง '20' ให้กับฟังก์ชัน int () เพื่อแปลงสตริง ดังกล่าวให้เป็นค่าจํานวนเต็ม ซึ่งเมื่อฟังก์ชัน int () ทํางานเสร็จ จะคืนค่าจํานวนเต็ม 20 กลับมา เราจึงสามารถใช้ int ('20') ได้ในลักษณะเดียวกันกับค่าจํานวนเต็ม 20

ตัวอย่างที่ 3.6 การส่งค่าและรับคืนค่าจากฟังก์ชันจากตัวอย่างที่ 3.3

3.6-ตย.PNG

ตัวอย่างที่ 3.6  อธิบายการเรียกใช้ฟังก์ชันได้ดังนี้

     

                1. บรรทัดที่ 1 มีการเรียกใช้ฟังก์ชัน int ( ) และ input ( ) ซ้อนกันอยู่ ซึ่งในกรณีที่มีฟังก์ชันซ้อนกันไพทอน

                    จะเริ่มประมวลผลจากฟังก์ชั่นที่อยู่ในสุดก่อน โดยเริ่มต้นฟังก์ชัน input () ถูกเรียกใช้ก่อน และไพทอน จะส่ง                        ค่าสตริง "อายุของท่าน คือ " ไปให้กับฟังก์ชัน แล้วฟังก์ชัน input () จะแสดงสตริงนี้ออกทาง จอภาพพร้อมกับ                        รอรับการป้อนข้อมูลจากผู้ใช้ เมื่อผู้ใช้ป้อนข้อมูลแล้วกดแป้น Enter ฟังก์ชัน input (1) จะคืนค่าข้อมูลที่ผู้ใช้                          ป้อนมาเป็นข้อมูลชนิดสตริง เช่น ผู้ใช้ป้อนข้อความเป็น '20' การเรียกใช้ฟังก์ชัน

                    int (input ("อายุของท่าน คือ ") ) จะเปรียบเสมือนกับ int ('20') 

               2. จากนั้นไพทอนจึงประมวลผลฟังก์ชัน int ('20') ในทํานองเดียวกันก็คือเป็นการเรียกใช้ฟังก์ชัน int ()

                   โดยส่งค่าสตริง '20' ไปให้ การทํางานของฟังก์ชัน int () ก็จะแปลงข้อมูลสตริงที่ถูกส่งมาให้ เป็นค่าจํานวนเต็ม                       20 แล้วคืนค่าจํานวนเต็มนี้กลับออกมา ดังนั้นการเรียกใช้คําสั่ง age=int (input("อายุของท่าน คือ ") ) จึง                               เปรียบเสมือนกับ age-int ('20') นั่นคือ age=20 นั่นเอง 

               3. บรรทัดที่ 8 มีการเรียกใช้ฟังก์ชัน print () โดยส่งข้อมูลจํานวน 2 ตัว คือ สตริง "ค่าโดยสารของท่าน คือ"

                   และค่าตัวแปร fare การทํางานของฟังก์ชัน print () จะพิมพ์ค่าที่ส่งไปให้ออกทางจอภาพ เรียงตามลําดับ

3.6-เกร็ดความรู้.PNG

                 นอกจากฟังก์ชันที่ไพทอนมีเตรียมไว้ให้ใช้งานแล้ว นักเรียนยังสามารถสร้างฟังก์ชันขึ้นใช้เองได้ โดยฟังก์ชัน ประกอบด้วย 3 ส่วนย่อย ได้แก่ (1) ชื่อฟังก์ชัน (2) พารามิเตอร์ (parameter) ภายในวงเล็บ ปิดท้ายด้วยเครื่องหมาย ทวิภาค (1) และ (3) ชุดคําสั่งของฟังก์ชัน

ตัวอย่างที่ 3.7 ฟังก์ชัน hellol ()

3.7-ตย.PNG

ผลลัพธ์ที่ได้คือ

3.7-ตย2.PNG

ตัวอย่างที่ 3.7  อธิบายได้ดังนี้

     

             1. บรรทัดที่ 1 เป็นการสร้างฟังก์ชันขึ้นใช้เอง เริ่มต้นจากคําหลักของไพทอน def จะใช้ระบุการเริ่มต้นนิยามฟังก์ชัน                    ใหม่ โดยมีชื่อฟังก์ชัน คือ hellol มีพารามิเตอร์จํานวน 1 ตัว คือ ตัวแปร name เขียนอยู่ภายใน วงเล็บต่อท้าย                        ชื่อฟังก์ชัน โดยต้องมีเครื่องหมาย : อยู่หลังวงเล็บปิด เมื่อมีการเรียกใช้ฟังก์ชัน คําสั่งภายในฟังก์ชันจะสามารถ                      อ้างถึงค่าที่ส่งให้กับฟังก์ชันได้โดยผ่านตัวแปร name 

              2. บรรทัดที่ 2 เป็นชุดคําสั่งภายในฟังก์ชัน ซึ่งมีเพียงคําสั่งเดียว คือ คําสั่ง print ("สวัสดี", name) โดยจะพิมพ์                            ข้อความสวัสดีต่อด้วย def hellol (name) : print("dian', 'name) ค่าของตัวแปร name 

              3. บรรทัดที่ 4 เป็นการเรียกใช้ฟังก์ชัน hellol () แล้วส่งอาร์กิวเมนต์สตริง 'ประวิทย์' เพียงค่าเดียว ชุดคําสั่งใน                            ฟังก์ชัน hello1 () ที่นิยามไว้ในบรรทัดที่ 1 ถึง 2 จะถูกเรียกให้ทํางาน และได้ผลลัพธ์ เป็น                                                     “สวัสดี ประวิทย์”สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยีรูปแบบการนิยามฟังก์ชันมีดังนี้

รูปแบบการนิยามฟังก์.PNG

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

รูปแบบการนิยามฟังก์ชัน-เกร็ดความรู้-ชวนค

ตัวอย่างที่ 3.8 การนิยามฟังก์ชันที่มีพารามิเตอร์มากกว่าหนึ่งตัว

3.8-ตย.PNG

ผลลัพธ์ที่ได้คือ

3.8-ตย2.PNG

ตัวอย่างที่ 3.8  บรรทัดที่ 1 ถึง 2 เป็นการสร้างฟังก์ชันขึ้นใช้เอง เริ่มต้นจากคำหลักของไพทอน def ตามด้วยชื่อฟังก์ชัน hello2 มีพารามิเตอร์จำนวน 2 ตัว กำหนดเป็นตัวแปรชื่อ fname และ lname เขียนอยู่ภายในวงเล็บ

ตัวอย่างที่ 3.9  ฟังก์ชันวาดรูปบ้าน

3.9-ตย.PNG
3.9-ตย2.PNG

ใบกิจกรรม 2.4 เลือกทางไหน

2066457.png

อ้างอิงจาก หนังสือเรียนรายวิชาพื้นฐานวิทยาศาสตร์  เทคโนโลยี (วิทยาการคำนวณ)

                  สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี กระทรวงศึกษาธิการ

bottom of page