การสร้างฟังก์ชัน
การสร้างฟังก์ชันด้วยตนเอง สามารถเขียนด้วยคำขึ้นต้นว่า def และตามด้วยชื่อฟังก์ชัน ตามที่ต้องการให้ทำหน้าที่อะไร โดยชื่อจะต้องไม่ซ้ำกับคำสงวน ควรสื่อความหมายให้ตรงกับหน้าที่ของฟังก์ชัน จากนั้นให้ระบุชื่อตัวแปรสำหรับต้องการให้เป็นอาร์กิวเมนต์ ซึ่งอยู่ภายในวงเล็บ ตัวแปรอาจมีมากกว่า 1 ตัวแปรก็ได้ มีรูปแบบ ดังนี้
def functionName(arguments):
ความหมายของคำสั่ง มีดังนี้
def หมายถึง เป็นคำสำคัญสำหรับการสร้างฟังก์ชัน
functionName หมายถึง เป็นชื่อของฟังก์ชัน
arguments หมายถึง ตัวแปรหรือข้อมูลที่จะรับเข้ามาเพื่อนำไปประมวลผลภายใน ฟังก์ชัน อาร์กิวเมนต์ ต้องอยู่ภายในวงเล็บเสมอ ด้านหลัง
ตัวอย่างการเขียนโปรแกรมโดยการดึงฟังก์ชัน Triangle Rectangle และ Circle มาใช้งาน
def menu():
print("*"*20)
print(" โปรแกรมสำหรับหาพื้นที่")
print("*"*20)
print("เมนู")
print("1.สามเหลี่ยม")
print("2.สี่เหลี่ยม")
print("3.วงกลม")
print("4.ออกจากโปรแกรม")
print("*"*20)
def Triangle(height,base):
return 0.5*height*base
def Rectangle(width,length):
return width*length
def Circle(radius):
return (22/7)*(radius**2)
def clear():print("\n"*10)
menu()
INPUT = int(input("ระบุเลขเมนูที่ต้องการ:"))
while INPUT !=4:
if INPUT==1:
height=float(input("กรอกค่าความสูง:"))
base=float(input("กรอกค่าฐาน:"))
print("พื้นที่สามเหลี่ยมเท่ากับ",Triangle(height,base))
elif INPUT==2:
width=float(input("กรอกค่าความกว้าง"))
length=float(input("กรอกค่าความยาว"))
print("พื้นที่สี่เหลี่ยมเท่ากับ",Rectangle(width,length))
elif INPUT==3:
radius=float(input("กรอกค่ารัศมี"))
print("พื้นที่วงกลมเท่ากับ",Circle(radius))
else:
print("ไม่มีเมนูที่เลือก")
clear()
menu()
INPUT = int(input("ระบุเลขเมนูที่ต้องการ:"))
else:
print("สิ้นสุดการทำงานของโปรแกรม")
def menu():
print("*"*20)
print(" โปรแกรมสำหรับหาพื้นที่")
print("*"*20)
print("เมนู")
print("1.สามเหลี่ยม")
print("2.สี่เหลี่ยม")
print("3.วงกลม")
print("4.ออกจากโปรแกรม")
print("*"*20)
ส่วนนี้เป็นการสร้างฟังก์ชัน ชื่อ menu เพื่อหาพื้นที่ สามเหลี่ยม สี่เหลี่ยม และ วงกลม
def Triangle(height,base):
return 0.5*height*base
ส่วนนี้คือฟังก์ชันหาพื้นที่สามเหลี่ยม โดยให้ส่งค่าผลลัพธ์ใด ๆ ที่เกิดจากการประมวลผลภายในฟังก์ชันกลับ
def Rectangle(width,length):
return width*length
ส่วนนี้คือฟังก์ชันหาพื้นที่สี่เหลี่ยม โดยให้ส่งค่าผลลัพธ์ใด ๆ ที่เกิดจากการประมวลผลภายในฟังก์ชันกลับ
def Circle(radius):
return (22/7)*(radius**2)
ส่วนนี้คือฟังก์ชันหาพื้นที่วงกลม โดยให้ส่งค่าผลลัพธ์ใด ๆ ที่เกิดจากการประมวลผลภายในฟังก์ชันกลับ
def clear():print("\n"*10)
ส่วนนี้คือฟังก์ชันเคลียร์ โดยให้ทำการขึ้นบรรทัดใหม่จำนวน 10 ครั้ง
ต่อไปนี้จะเป็นการอธิบายส่วนของการเรียกใช้งานฟังก์ชัน
menu() (เรียกใช้ฟังก์ชัน menu)
INPUT = int(input("ระบุเลขเมนูที่ต้องการ:")) (กำหนดตัวแปรชื่อ INPUT โดยรับค่าเป็นจำนวนเต็ม)
while INPUT !=4: (ทำการสร้าง loop โดยเงื่อนไขคือถ้าตัวแปร INPUT
ไม่เท่ากับ 4 ให้ทำคำสั่งดังต่อไปนี้)
if INPUT==1: (ถ้า INPUT เท่ากับ 1 ให้)
height=float(input("กรอกค่าความสูง:")) (รับค่าความสูงเป็นจำนวนจริงไว้ที่ตัวแปรชื่อ height)
base=float(input("กรอกค่าฐาน:")) (รับค่าฐานเป็นจำนวนจริงไว้ที่ตัวแปรชื่อ base)
print("พื้นที่สามเหลี่ยมเท่ากับ",Triangle(height,base)) (ประกาศข้อความ พื้นที่สามเหลี่ยมเท่ากับ และเรียก
ผลลัพธ์จากฟังก์ชัน Triangle)
elif INPUT==2: (หรือถ้า INPUT เท่ากับ 2 ให้)
width=float(input("กรอกค่าความกว้าง")) (รับค่าความกว้างเป็นจำนวนจริงไว้ที่ตัวแปรชื่อ width)
length=float(input("กรอกค่าความยาว")) (รับค่าความยาวเป็นจำนวนจริงไว้ที่ตัวแปรชื่อ length)
print("พื้นที่สี่เหลี่ยมเท่ากับ",Rectangle(width,length)) (ประกาศข้อความ พื้นที่สี่เหลี่ยมเท่ากับ และเรียก
ผลลัพธ์จากฟังก์ชัน Rectangle)
elif INPUT==3: (หรือถ้า INPUT เท่ากับ 3 ให้)
radius=float(input("กรอกค่ารัศมี")) (รับค่ารัศมีเป็นจำนวนจริงไว้ที่ตัวแปรชื่อ radius)
print("พื้นที่วงกลมเท่ากับ",Circle(radius)) (ประกาศข้อความ พื้นที่วงกลมเท่ากับ และเรียก
ผลลัพธ์จากฟังก์ชัน Circle)
else: (มิฉะนั้นในบรรทัดนี้เป็นเงื่อนไขที่นอกเหนือจาก
INPUT มีค่าเท่ากับ 1 2 3 หรือ 4)
print("ไม่มีเมนูที่เลือก") (ดำเนินการประกาศข้อความ ไม่มีเมนูที่เลือก)
clear() (เรียกใช้ฟังก์ชันเคลียร์)
menu() (เรียกใช้ฟังก์ชัน menu)
INPUT = int(input("ระบุเลขเมนูที่ต้องการ:")) (กำหนดตัวแปรชื่อ INPUT โดยรับค่าเป็นจำนวนเต็ม)
else: (มิฉะนั้นในบรรทัดนี้เป็นกรณีที่ INPUT ไม่เท่ากับ 4
ไม่เป็นจริง หรือก็คือ INPUT เท่ากับ 4 ให้)
print("สิ้นสุดการทำงานของโปรแกรม") (ประกาศข้อความ สิ้นสุดการทำงานของโปรแกรม)
เข้าไปดูโค้ดตัวอย่างใน Google Colab