บทนำ
ตัวอย่างการใช้ Object-Oriented Programming ใน Python สร้างคลาส Circle เพื่อคำนวณพื้นที่และเส้นรอบวงวงกลมจากรัศมีที่รับเข้ามา
ตัวอย่างโค้ด
import math
class Circle:
def __init__(self, radius):
self.radius = radius
def area(self):
"""คำนวณพื้นที่วงกลм: πr²"""
return math.pi * self.radius ** 2
def perimeter(self):
"""คำนวณเส้นรอบวง: 2πr"""
return 2 * math.pi * self.radius
# โปรแกรมหลัก
radius = float(input("ป้อนรัศมีของวงกลม: "))
circle = Circle(radius)
print(f"รัศมี: {radius}")
print(f"พื้นที่: {circle.area():.2f}")
print(f"เส้นรอบวง: {circle.perimeter():.2f}")
ผลลัพธ์ตัวอย่าง
ป้อนรัศมีของวงกลม: 7 รัศมี: 7.0 พื้นที่: 153.94 เส้นรอบวง: 43.98
คำอธิบาย
__init__รับรัศมีเก็บไว้ใน instance attributearea()คำนวณ πr² ใช้math.piperimeter()คำนวณ 2πr- สร้าง object
circle = Circle(radius)แล้วเรียกเมธอด - ใช้ f-string และ
:.2fจัดรูปแบบทศนิยม 2 ตำแหน่ง
ขยายความสามารถ
class Circle:
def __init__(self, radius):
if radius < 0:
raise ValueError("รัศมีต้องไม่ติดลบ")
self.radius = radius
def diameter(self):
return 2 * self.radius
def __str__(self):
return f"Circle(r={self.radius})"
def __repr__(self):
return f"Circle(radius={self.radius})"