(ล่าม) ฮัลโหลครับฝั่งล่ามไหมครับผม(อาจารย์สุธิรา) ได้ยินค่ะ (ล่าม) โอเคครับ(อาจารย์สุธิรา) สวัสดีค่ะ พี่ล่ามไม่ได้ยินเรานะ(ล่าม) ได้ยินครับ ได้ยินครับ(อาจารย์สุธิรา) ได้ยินไหม ได้ยินนะคะ โอเค นึกว่าไม่ได้ยินนะคะสำหรับวันนี้นะคะ ในสัปดาห์นี้จะเป็นเรื่องเกี่ยวกับฟังก์ชันนะใน Pythonเราจะต้องมาเรียนเบื้องต้นนี่ ก็คือต้องมารู้จักสิ่งที่เรียกว่า Function ก่อนนะคะนะคะ หัวข้อที่เราจะเรียนในสัปาดาห์นี้นะคะ จะเป็นหัวข้อสุดท้ายของปีนี้เทอมนี้นะคะ ภาคเรียนนี้ ก็คือฟังก์ชันวันนี้เราจะพูดถึงการนะคะ การเรียกใช้งานแล้วก็พูดถึงDefault Argument Values แล้วก็ Keyword Argumentนะคะ อ้าวทำไมหน้าจอไม่ขึ้นอีกแล้ว...โอเคนะคะ ก่อนอื่นก่อนจะรู้วิธีการสร้างการเลือกใช้งานนี่ เราก็ต้องรู้ก่อนว่าฟังก์ชันมันคืออะไรนะคะคือ ถ้าพูดถึงโดยทั่วไปนะคะก็คือถ้าเราเป็นโปรแกรมเมอร์หรือในวิธีการเขียนโปรแกรมคอมพิวเตอร์นี่ ฟังก์ชันมันจะเป็นสั่งพิเศษีที่ให้ทำงานเฉพาะสิ่งใดสิ่งหนึ่งนะคะซึ่งแต่เดิมนี่ฟังก์ชันมันจะเป็นที่เขาพัฒนาไว้แล้วก็มี แต่ใน Python นะคะในส่วนของภาษา pythonฟังก์ชันจะเป็นโค้ด หรือโปรแกรมที่เราสร้างขึ้นได้เองนะคะเพื่อเอาไปใช้กับ...เหมือนตั้งขึ้นมาว่าฟังก์ชันนี้จะตันะคะ เช่นเหมือนบางครั้งนี่ การคำนวณบางอย่างไม่จำเป็นต้องไปเขียนโค้ดใหม่ทุกครั้ง เราก็เลยสร้างฟังก์ชันไว้เลยแล้วไปเรียกฟังก์ชันนี้มาเพื่อให้มันทำกาารคำนวณค่านี้ให้อย่างนี้นะคะ นั่นคือจุดประสงค์จะนำไปใช้ในสิ่งใดสิ่งหนึ่งนะคะเป็นการเฉพาะ โดยในบอกแล้วว่าในสัปดาห์นี้เราจะสร้างขึ้นมาใช้งานเองนะคะ แล้วเมื่อสร้างเสร็จแล้วนี่จะต้องรู้ว่ามันจะต้องเรียกฟังก์ชันที่เราใช้งานนี่จะถูกเรียกมาใช้โดยวิธีการใดหรือเรียกใช้อย่างไรนะคะ แล้วก็จะพูดถึง Default Argumentด้วยว่ามันคืออะไรแล้วก็ Keyword Argument ด้วยว่ามันคืออะไรนะคะ ทีนี้ก็จะเริ่มเข้าสู่กระบวนการที่เราจะต้องทำก็คือเมื่อเราจะทำฟังกชันขึ้นมาเราจะสร้างมันอย่างไรนะคะการสร้างฟังก์ชันใน Python นะคะใน pythonเราสามารถสร้างขึ้นเองได้นะคะ โดยวิธีการนี้นะคะ จะเป็นให้นึกถึงว่าเราจะเป็นคนเขียนโค้ดที่ที่บอกแล้วว่ามันสามารถทำงานสิ่งใดสิ่งหนึ่งได้แล้วเอาไปเรียกใช้ซ้ำได้อีกนะคะ จะเรียกว่า"การนำโค้ดนี้กลับมาใช้" นี้ว่า "Code Reuse"ใช้ code นี้ซ้ำได้ถ้าจะทำฟังก์ชันมาใช้งาน มันควรเป็นตัวที่เหมือนสามารถเรียกใช้ได้บ่อย ๆ เช่น สมมตินะคะเราจะหาค่า vad นี่คือ ถ้ามาเขียนโค้ด เราต้องมานั่งเขียนว่า Vat เกิดจากการที่เอา7 เปอร์เซ็นต์น่ะค่ะ Vat ก็คือ 7 เปอร์เซ็นต์ใช่ไหมคะการที่เอาราคาสินค้ามาคูณกับปริมาณที่ 7 เปอร์เซ็นต์เท่ากับเท่าไหร่ แล้วจะทำอย่างไรเราจะให้รู้ว่าตัวนี้เป็นค่า Vat เราก็อาจจะสร้างฟังก์ชันสำหรับการคิด Vat ขึ้นมาอย่างนี้นะคะ แล้วพอครั้งหน้าจะใช้ก็เอาไปใช้ได้ หรืออย่างอื่น หรือคนอื่นจะเอาไปใช้ได้เมื่อรู้ว่าแต่ต้องรู้ด้วยนะว่ามีฟังก์ชันนี้อยู่ อย่างนี้นะคะ ทีนี้ขั้นตอนในการสร้างนะคะก็คือมันจะมีรูปแบบ เราจะต้องเขียนโค้ดน่ะค่ะ เขียนโค้ดให้ฟังก์ชันเราโดยตามรูปแบบในที่เห็นนะคะ จะต้องมีคำว่า "def"deนั่นก็คือการประกาศตัวแปรนะคะบอกให้รู้ว่านี่นะ ฉันจะประกาศจะประกาศค่า ประกาศฟังก์ชัน ไม่ใช่ประกาศตัวแปร พูดผิดแล้วตามด้วย function_nameเราต้องพิมพ์ d-e-f พิมพ์ด้วยตัวเล็กเสมอ ถึงได้ทำเป็นสีแดงให้เห็นว่าคำว่า def นะคะตัวเล็กเท่านั้นนะคะ ไม่ใช่พิมพ์ด้วยตัวพิมพ์ใหญ่นึกออกนะนะคะก็คือทุกครั้งที่พอจะมีการสร้างฟังก์ชันเราต้องพิมพ์คำว่า defเป็นตัวแรกนะคะ แล้วตามด้วย function_name  function_nameนั่นก็คือชื่อ ชื่อของฟังก์ชันที่เราจะไว้เรียกใช้ในครั้งต่อไป เราจะเป็นคนตั้งเองให้นึกถึงฟังก์ชันเนมตั้งชื่อให้ตัวแปร แต่อันนี้เป็นการตั้งชื่อฟังก์ชันนี้คือฟังก์ชันอะไรนะคะ เสร็จแล้วก็จะมีวงเล็บ พอใส่คำว่า "def" แล้วก็ใส่ชื่อฟังก์ชันเราต้องต้องพิมพ์วงเล็บเสมอนะคะ แต่ถ้าเราพิมพ์ใน Colab ตัววงเล็บนี้จะขึ้นมานะคะ แล้วส่วนข้างในนี่นะคะ เขาบอกว่ามันเป็นการกำหนดค่า Paramiterพารามิเตอร์ถ้าเป็นเขียนโค้ดปกติ มันก็จะหมายถึงตัวแปรนะคะ แต่ในฟังก์ชันนี่เราจะเรียกว่า "พารามิเตอร์" เพื่อไว้สำหรับอะไรล่ะ เขาเรียกนี่ เขาบอกว่าพารามิเตอร์ของฟังก์ชันนี่มีจำนวนเท่าไรก็ได้ ก็คือในฟังก์ชันนี้เราจะมีการเก็บค่าของอะไรบ้างพารามิเตอร์ตัวนั้นก็จะเป็นตัวเก็บให้เราสมมตินะคะ สมมติเราต้องการตำนวณหาค่าพื้นที่วงกลมอย่างนี้นะคะ ค่าพารามิเตอร์ที่จะเก็บก็อาจจะมีค่าของรัศมีวงกลมหรือมีค่าของอะไรนะเส้นรอบวงอะไรอย่างนี้เข้ามานะคะ นั่นก็คือค่าพารามิเตอร์ที่เราจะไว้เก็บข้อมูลในฟังก์ชันนี้นะคะ เสร็จแล้วเมื่อพิมพ์ function_name ใส่ค่าพารามิเตอร์อะไรเสร็จ เราจะปิดคำสั่งการประกาศฟังก์ชันด้วยโคลอนเสมอนะคะสังเกตนะคะ เมื่อใดที่ตัวนั้นจะต้องปิดด้วยเสมอ แล้วขึ้นบรรทัดใหม่มันจะเข้าสู่ย่อหน้าใหม่ตัว statements ในที่นี้หมายถึงคำสั่งอื่น ๆ นะคะแล้วเด็ก ๆ สังเกตดูนะคะ ว่าในการประกาศฟังก์ชันตัวที่ 1นะคะ กับตัวที่ 2 ตัวที่ 2จะมีคำว่า return value return ก็คือการคืนส่งค่าคืนกลับซึ่งฟังก์ชันที่เราเขียน อาจจะเขียนแล้วมี return หรือไม่มีก็ได้นะคะ แต่ที่เขียนให้ดูเป็นตัวอย่างนี่ ให้เห็นรูปแบบนี้ให้เห็นทั้ง 2 แบบเป็นแบบที่ไม่มีการ return ค่าแต่แบบที่ 2 นี่มี มีการส่งคืนค่ากลับ ก็เลยจะมีคำว่า "return value" ก็คือเราต้องพิมพ์คำว่า return ด้วยตามด้วยค่าที่เราต้องการให้ส่งกลับ เช่น เดี๋ยวดูในตัวอย่างจะเห็นชัดนะคะ เดี๋ยวยกตัวอย่างแล้วจะมองภาพไม่ออก ซึ่งเขาบอกว่าค่าที่ส่งกลับนั้นจะเรียกว่านะคะทีนี้เรามาดูตัวอย่างแรกก่อนเพื่อจะให้เห็นว่าถ้าเราต้องการประกาศตัวแปรแลลไม่มีการ returnไม่มีคำสั่ง return เพื่อคืนค่านี่ ในตัวอย่างนี้เราจะประกาศตัวแปรชื่อ เห็นไหมคะ ตรง def แล้วตามด้วยhello()def ก็คือ definitionก็คือคำสั่งเพื่อใช้และติดประกาศตัวแปร ประกาศฟังก์ชัน ขอโทษทีนะคะคือ defแล้วก็ตามด้วย function_name ซึ่งในที่นี้ตั้งชื่อว่าhello นะคะ ฟังก์ชัน hello ก็คือฟังก์ชันที่เราต้องใช้เพื่อแสดงคำทักทายออกมานั่นเองนะคะ แล้วทีนี้พอเวลาเรียกใช้ฟังก์ชันนี้นะคะ มันจะสั้นนึกออกนะ การเขียนโค้ดมันจะสั้นกว่าที่เราเคยทำแล้วตามด้วย พารามิเตอร์หรือที่เราไว้เก็บค่า ก็คือ name นะคะ เสร็จแล้ว ตามด้วย statement ตามด้วยข้อความหรือคำสั่งหรือโค้ดอะไรก็แล้วแต่นะคะ ซึ่งในทีนี้เราต้องการให้แสดงนะคะ แสดงคำทักทายชื่อที่เรารับค่าเข้าไปนี่ หรือพารามิเตอร์ที่เราส่งเข้าไป ก่อนอื่น เด็ก ๆเปิด Colab หรือยังคะ เปิด Colab ด้วยไปที่ web browserแล้วเปิดเหมือนเดิมนะคะ พิมพ์คำว่า "Colab" น่ะc-o ต้องบอกว่า co สิColab l-a-b นะคะ พิมพ์ l-a-bแล้วกด Enter เลยเพราะสังเกตว่าเว็บไหนที่เราเปิดมันจะอัตโนมัติเด็ก ๆ กด Enter ได้เลนยมันก็จะเข้ามาหน้าที่เราใช้งานนะ แล้วก็คลิกCode นะคะ ลืมไปอย่าลืมทำอะไรก่อน เข้าสู่ระบบนะ ไม่อย่างนั้นเราจะrun มันไม่ได้นะคะ เด็ก ๆ อย่าลืมลงชื่อเข้าสู่ระบบด้วย Login เข้าไปด้วยนะคะของเราให้เรียบร้อยด้วยโอเคนะคะ เสร็จแล้วเราก็เริ่มไปที่เขียน code เหมือนเดิมนะคะ เด็ก ๆกดที่คำว่า "code" นะคะ ในบรรทัดแรกของเรานะคะ เราก็เริ่มประกาศฟังก์ชัน โดยพิมพ์คำว่าอะไรคะde แล้วกฌ fใช่ไหมคะ พิมพ์ด้วยตัวพิมพ์เล็กเสมอนะคะไม่ใช่พิมพ์ใหญ่แบบนี้นะ ไม่ใช่พิมพ์ D-e-fDef แบบนี้ ตัวใหญ่นี่ถือว่าไม่ถูกต้องนะคะตัวใหญ่นี่ถือว่าไม่ถูกต้องนะคะdef นะคะ แล้วก็กดSpace bar เพื่อวรรค 1 ครั้งนะคะบอกแล้วว่าวิธีการประกาศฟังก์ชัน ก็คือพิมพ์คำว่า "def"แล้วตามด้วชื่อของฟังก์ชันชื่อของฟังก์ชัน ในตัวอย่างเรา ชื่อว่า Helloทีนี้มาดูชื่อ ชื่อของฟังก์ชันนี่ก็ต้องใช้ตัวพิมพ์เล็กเหมือนกันนะคะ ไม่ใช่ตัวพิมพ์ใหญ่นะคะดูดี ๆ นะคะ เพราะฉะนั้นพิมพ์ตัว hด้วยตัวพิมพ์เล็กนะคะ h-e-l-l-o แล้วก็ใส่วงเล็บเข้าไปแล้วก็ตามด้วยพารามิเตอร์ ในวงเล็บพารามิเตอร์ของเรา ก็คือคำว่า "name นะคะ ตัวพิมพ์เล็กเพราะมันเป็นตัวแปรชื่อว่า name เมื่อเสร็จฟังก์ชันใช่ไหมเสร็จคำสั่งฟังก์ชันต้องปิดด้วยเครื่องหมายโคลอนเสมอแล้วกด Enter 1 ครั้งใช้วิธีกด Enter นะ ไม่ใช่เลื่อนเมาส์ลงไป สังเกตบอกแล้วพอกด Enter นี่ตำแหน่งของเคอร์เซอร์มันจะ Tab เข้าไปนะStagementหรือคำสั่งต่อไปที่เราจะใช้ ก็คือคำสั่งแสดงผลนะคะ ก็คือคำสั่ง printp-r-in-tprint แล้วก็ตามด้วยวงเล็บเหมือนเดิม print อะไรสิ่งที่อยู่ในวงเล็บอย่าลืมนะคะ เมื่อใดที่บอกให้พิมพ์วงเล็บนี่ สังเกตมันจะมี () ขึ้นมานะเดี๋ยวอ๋อ ขอโทษ ไม่ได้สลับหน้ามันไม่สลับหน้าตลอดเลยเราก็ว่าอยู่แต่เด็กพิมพ์ตามใน PowerPoint แต่อยากให้เห็นใน Colabเพราะว่าเมาส์หายเมาส์จ๋า เมาส์จ๋านั่นน่ะสิเดี๋ยวเลื่อนไอ้นี่เอาก็ได้นะโอเคนะคะ นะในนี้จะพิมพ์คำว่า "print" นะคะ เดี๋ยวจะโชว์ไอ้ตัวข้อความด้วยเดี๋ยวสิ้นสุดการนำเสนอก่อนเดี๋ยวให้เห็น 2 หน้าด้วยกัน ไม่สิ ไม่สิโอเคไหมเดี๋ยวนะ กำลังหามุม มุมให้เธออยู่โอเคน่าจะได้เห็น 2 อย่างนะ เห็นไหมคะ จะมาที่คำสั่ง print ของเรานะแล้วในวงเล็บของ printลืมทำให้มันขึ้น 2 หน้าคู่กัน เดี๋ยวนะคะแป๊บหนึ่งขยับได้ไหมไม่เห็นหน้านี้อีกขอ 2 ทำไมได้ 4 นี่เดี๋ยวนะ เดี๋ยวจะกระเถิบแล้วก็ไม่เห็นในสไลด์อีกสิส่วนแบ่งทางการตลาดเยอะโอเคไหมอีกหน่อยหนึ่ง นะคะวงเล็บในวงเล็บของคำว่า "print"เราจะ print คำว่า "hello" นะคะแล้วตามด้วยเห็นไหม ตรงก่อน... ตรงก่อน Hello มีเครื่องหมายคำพูดนะดูดี ๆ อาจจะเห็นไม่ชัดใส่เครื่องหมายคำพูดนะคะ Single Quote หรือแล้วค่อยพิมพ์ Hello ด้วยตัวใหญ่แล้วก็ตามด้วยเครื่องหมาย % %sนั่นคือ ข้อความนี้เป็น String นะคะแล้วหลังเครื่องหมายคำพูดเด็ก ๆ ต้องเลื่อนไอ้ตัวนี้ไปหลังเครื่องหมายคำพูดนะพิมพ์ % nameแล้วก็พิมพ์เปอร์เซ็นต์ แล้วตามด้วยname ตัวเล็กนะ ดูดี ๆ นะ เราเรียกใช้ เราสร้างพารามิเตอร์ด้วย name ตัวเล็กเวลาเรียกใช้ก็ต้องใช้ตัวเล็กนะคะนี่คือเสร็จฟังก์ชันนี้แล้วลองเรียกใช้งาน ลองกด Play ก่อนขอโทษ เราจะได้รู้นะคะการกดตัวนี้นะ เพื่อจะได้เช็กว่าที่เรา codeที่เราเขียนไปนี่มันถูกไหม ถ้าผิดมันจะขึ้น Error ใช่ไหมคะครั้งแรกเวลาโค้ดมันก็จะช้านิดหนึ่งมันก็จะยังหมุนติ้ว ๆ อยู่นะคะ เราก็ต้องรอนะคะแสดงว่าไม่มีอะไรผิดนะคะไม่ทำอะไรนะ เพราะฟังก์ชันสร้างขึ้นมา สร้างแล้วแล้วอย่าลืมว่ามันจะต้องมีการเรียกใช้ นึกออกนะต้องสร้าง สร้างเพื่อให้มันไปโดนเรียกก่อน มันถึงจะทำงานนะคะ ตอนนี้คือสร้างเพื่อให้คอมพิวเตอร์มันจำ จำไว้ว่าตอนนี้เราสร้างฟังก์ชันชื่อว่า hello แล้วนะคะที่ให้กด Run นี่เพื่อจะให้ตรวจสอบว่าโค้ดที่เราเขียนไปมันถูกหรือเปล่า ถ้าผิดมันจะแสดง Errorนะ ถ้าเขียนไม่ผิดมันก็ไม่แสดงใช่ไหมคะนี่ลอง Run แล้วนะคะ Error ไม่ขึ้นนะคะของใครขึ้น Error ยกมือสิ่งที่ต้องเช็ก ก็คือ 1. คำสั่งd-e-f นะคะ definitionการประกาศฟังก์ชัน ตัวที่ 2ก็คือชื่อฟังก์ชันใช้ตัวเล็ก และตัวที่ 3 พารามิเตอร์ พามิเตอร์จะมีค่าอยู่ในวงเล็บเสมอนะคะ เสร็จแล้วต้องปิดการประกาศฟังก์ชันด้วยโคลอนเสมอนะคะทีนี้เมื่อกี้ประกาศฟังก์ชันที่ 1 ไปแล้วมาดูแบบที่ 2 นะคะ ฟังก์ชันที่มีการ return หรือส่งกลับค่าเดี๋ยวขยายหน้าไอ้นี่ให้ก่อนสลับไปสลับมากันอยู่นี่ล่ะเรา อันนี้ อันนี้แบบไม่มีreturn ค่านะในตัวอย่างนี่เราสร้างฟังก์ชันชื่อ hello นะคะเราใช้เราสร้างฟังก์ชันนี้ขึ้นมาเพื้อต้องการให้มันแสดงข้อความ เอาอีกแล้วอะไรอีกหว่าสลับจอไม่ได้เลย น่าจะเป็นกับไอ้ตัวนี้ทำไมหนก่อนไม่เห็นมี หรือเพราะเป็นไอ้นี่บ่ะ Windows 11 นี่บ่ มันถึงขึ้นไอ้สลับไอ้จอไอ้นี่ทุกทีเลย แล้วก็เป็นปัญหาในการใช้งานจะได้ใช้ Windows อื่นเสียล่ะมั้งสลับไอ้จอไอ้นี่นะคะ มาดูตัวอย่างที่ 2 นะคะเราจะประกาศฟังก์ชันมีการใช้ return value หรือการคืนค่ากลับในตัวอย่างที่ 2 เป็นการประกาศฟังก์ชันที่ชื่อว่า area()โดยมีพารามิเตอร์ 2 ตัวwidth แล้วก็ความ... width แล้วก็height ซึ่ง area ในที่นี้ึพื้นที่ สูตรการหาพื้นที่สี่เหลี่ยม ก็คือกว้างคูณยาวเพราะฉะนั้น ค่าพารามิเตอร์ที่ไว้ใช้สำหรับเก็บค้าก็คือค่าความยาวกับความกว้างนั่นเองนะคะ ก็เลยตั้งชื่อตัวพารามิเตอร์ 2 ตัวนี้ว่า widthนั่นเองนะคะ เสร็จแล้วปิดด้วยโคลอนStatement ต่อมาสร้างตัวแปรชื่อว่า C ตัวแปร Cสำหรับคำนวณความกว้างคูณความยาว ก็คือคำนวณหาพื้นที่ของสี่เหลี่ยมนั่นเองนะคะแล้วทำการ return ค่า cนะคะ ก็คือให้ส่งกลับค่าของ cก็คือเมื่อเอาพารามิเตอร์มาคำนวณแล้วนี่ c จะได้เท่าไหร่ส่งกลับค่าให้ c นะคะนี่คือการประกาศฟังก์ชันแบบมีการ return ค่าเพราะฉะนั้น บางคนคีย์ใน Colab ไปเรียบร้อยแล้วนะคะเรามาเริ่มคีย์ของเราด้วยนะคะแล้วมันก็จะไม่ขึ้นไอ้หน้านี้อีกแล้ว มันเป็นอะไรกับ...มันไม่สลับ Extend หรือมันไม่ขึ้นหน้าจออีกแล้วน่ะโอเค ต้องสลับ2 รอบเชียวหรือนะคะเอาไว้ก่อนอย่างนั้นก็ต้องมาจัดไอ้นี่ใหม่อีกแล้วนี่ไม่เห็นตัวหลังอีก เอาเห็นไหมไม่เห็นอีก มันน่านักเชียวแป๊บนึงนะสลับหน้าก่อนโอเคไหมColabไปไหนแล้วนะคะเราประกาศฟังก์ชันที่ 2 ต่อด้วยฟังก์ชันแรกได้เลยนะคะเมื่อหลังฟังก์ชันแรกเรากด Enter กดลงไป2 อันเลยก็ได้เด็ก ๆ สังเกตตำแหน่งมันจะTab เข้าไปนะ เรากดย้อนคืน 1 ครั้งตำแหน่งตรงกับชิดขอบแล้วก็เริ่มพิมพ์คำสั่ง definitiond-e-f เพื่อประกาศใช้คำสั่งฟังก์ชันที่ชื่อว่า... ชื่อฟัง์ชันของเราชื่อว่า area() นะคะวรรคตามด้วย areaตัวเล็กนะคะแล้วก็ตามด้วยเครื่องหมายวงเล็บ เพราะบอกแล้วมีชื่อฟังก์ชัน เสร็จแล้วจะต้องมีพารามิเตอร์อยู่ในวงเล็บก็คือพารามิเตอร์ตัวที่ 1 ชื่อว่า width w-i-d-t-h นะคะ คั่นขั้นพารามิเตอร์ตัวต่อไป ด้วยเครื่องหมายCommaนะ คอมมาหรือไอ้ลูกน้ำเรานะคะ แล้วก็ตามด้วยชื่อพารามิเตอร์ตัวที่ 2 นะคะ ก็คือ h-i-h-e-i-g-h-t height หรือสูงนั้นเองนะคะ มีพารามิเตอร์สำหรับเก็บความยาวกับความกว้างนะคะ ก็คือ width กับ heightปิดการประกาศฟังก์ชันของเราด้วยเครื่องหมายโคลอนเ