Function
4.2
วิชา การเขียนโปรแกรม Python กลุ่มสาระการเรียนรู้ วิทยาศาสตร์และเทคโนโลยี
เรื่อง การเรียกใช้ฟังก์ชัน
ฟังก์ชัน (Function) คือส่วนของโค้ดหรือโปรแกรมที่ทำงานเพื่อวัตถุประสงค์บางอย่าง ในภาษา Python คุณสามารถสร้างฟังก์ชันของคุณเองเพื่อให้ทำงานที่ต้องการ ในการเขียนโปรแกรมเรามักจะแยกโค้ดที่มีการทำงานเหมือนๆ กันเป็นฟังก์ชันเอาไว้ และเรียกใช้ฟังก์ชันนั้นซ้ำๆ ซึ่งเป็นแนวคิดของการนำโค้ดกลับมาใช้ใหม่ (Code reuse) นี่เป็น
การเรียกใช้งานฟังก์ชันในภาษา Python
หลังจากเราได้สร้างฟังก์ชันในตัวอย่างก่อนหน้าแล้ว ต่อไปเราจะมาเรียกใช้งานฟังก์ชันเหล่านั้น ในการเรียกใช้ฟังก์ชันนั้นเราจะใช้ชื่อของฟังก์ชันและส่งอาร์กิวเมนต์ให้สอดคล้องกับพารามิเตอร์ที่กำหนดไว้ในฟังก์ชัน ดังนั้นอาร์กิวเมนต์คือค่าที่ส่งเข้าไปในฟังก์ชันตอนใช้งาน ส่วนพารามิเตอร์นั้นคือตัวแปรทีกำหนดไว้ในฟังก์ชันเพื่อรับค่าจากอาร์กิวเมนต์ มาดูตัวอย่างการเรียกใช้งานฟังก์ชันในภาษา Python
# ฟังก์ชันไม่มีพารามิเตอร์
#Example01 การสร้างฟังก์ชันแสดงข้อมูลส่วนตัว
def show_info():
print("My name is Yotin Siriaey")
print("My classroom is 229")
print("My number is 49")
show_info()
อธิบาย :
บรรทัดที่ 1 - 2 คอมเมนต์
บรรทัดที่ 3 สร้างฟังก์ชันชื่อ show_info()
บรรทัดที่ 4 แสดงข้อความ "My name is Yotin Siriaey"
บรรทัดที่ 5 แสดงข้อความ "My classroom is 229"
บรรทัดที่ 6 แสดงข้อความ "My number is 49"
บรรทัดที่ 7 เรียกใช้ฟังก์ชัน show_info()
# ฟังก์ชันไม่มีพารามิเตอร์
#Example02 การสร้างฟังก์ชันคำนวณพื้นที่สามเหลี่ยม
def traingle_area():
base = int(input("Input base : "))
high = int(input("Input high : "))
area = 0.5 * base * high
print("Area of Triangle is ",area)
triangle_area()
อธิบาย :
บรรทัดที่ 1- 2 คอมเมนต์
บรรทัดที่ 3 สร้างฟังก์ชันชื่อ triangle_area()
บรรทัดที่ 4 รับค่าตัวเลขจำนวนเต็มเก็บไว้ที่ตัวแปร base
บรรทัดที่ 5 รับค่าตัวเลขจำนวนเต็มเก็บไว้ที่ตัวแปร high
บรรทัดที่ 6 คำนวณหาพื้นที่สามเหลี่ยมเก็บไว้ที่ตัวแปร area
บรรทัดที่ 7 แสดงผลลัพธ์ออกทางหน้าจอ
บรรทัดที่ 8 เรียกใช้ฟังก์ชัน triangle_area()
# ฟังก์ชันมีพารามิเตอร์
#Example03 การสร้างฟังก์ชันทักทาย
def hello(name):
print('Hello %s' % name)
hello('Yotin Siriaey')
อธิบาย :
บรรทัดที่ 1- 2 คอมเมนต์
บรรทัดที่ 3 สร้างฟังก์ชันชื่อ hello()
บรรทัดที่ 4 แสดงผลลัพธ์ออกทางหน้าจอ
บรรทัดที่ 6 เรียกใช้ฟังก์ชัน hello() โดยมีค่าพารามิเตอร์ 'Yotin Siriaey'
# ฟังก์ชันมีพารามิเตอร์ และมีค่าส่งคืน
#Example04 การสร้างฟังก์ชันนับจำนวนสระในภาษาอังกฤษ
def count_vowel(str):
vowel = 0
for c in str:
if c in ('A', 'E', 'I', 'O', 'U', 'a', 'e', 'i', 'o', 'u'):
vowel = vowel + 1
return vowel
num=count_vowel('thoengwit.ac.th')
print('Count vowel : ',num)
อธิบาย :
บรรทัดที่ 1- 2 คอมเมนต์
บรรทัดที่ 3 สร้างฟังก์ชันชื่อ count_vowel(str) โดยมีพารามิเตอร์เป็น str
บรรทัดที่ 4 สร้างและกำหนดตัวแปรชื่อ vowel โดยเก็บเลข 0 ไว้
บรรทัดที่ 5 for loop โดยให้ตัวแปร c เป็นตัวเริ่มต้น
บรรทัดที่ 6 คำสั่งเงื่อนไขว่าตัวแปรเป็นค่า A, E, I, O, U, a, e, i, o, u ใช่หรือไม่
บรรทัดที่ 7 ถ้าใช่ ให้เพิ่มค่าของตัวแปร vowel ไปอีก 1 แต้ม
บรรทัดที่ 8 คืนค่าตัวแปร vowel ออกไป
บรรทัดที่ 9 สร้างตัวแปร num ให้รับค่าคืนจากฟังก์ชัน count_vowel()
บรรทัดที่ 10 แสดงข้อความ Count vowel พร้อมกับค่าตัวแปร num
# ฟังก์ชันมีพารามิเตอร์ และมีค่าส่งคืน
#Example05 การสร้างฟังก์ชันหาพื้นที่ของรูปสี่เหลี่ยมด้านขนาน
def area(width, height):
c = width * height
return c
area=area(20,30)
print('Area : ',area)
ถึงเวลาทดลองปฏิบัติเขียนโปรแกรมเพื่อแสดงความเข้าใจสักหน่อย
ข้อที่ 1 จงปรับปรุงโปรแกรม Example05 การสร้างฟังก์ชันหาพื้นที่ของรูปสี่เหลี่ยมด้านขนาด โดยให้มีการกำหนดจำนวนครั้งในการหาพื้นที่ และความกว้างและความสูงให้รับมาจากแป้นพิมพ์
ผลลัพที่ควรจะได้
Count Process : 3
Process Loop : 1
Input width :7
Input high : 12
Area : 84
Process Loop : 2
Input width :5
Input high : 9
Area : 45
Process Loop : 3
Input width :14
Input high : 21
Area : 294
ข้อที่ 2 เขียนโปรแกรมแสดงข้อสอบการบวกเลขจำนวนเต็ม 2 จำนวน โดยให้มีคำตอบเพื่อในการตรวจสอบ