ฟังก์ชันคือการตั้งชื่อให้ “กลุ่มคำสั่ง” เพื่อเรียกใช้ซ้ำ
นิยามและเรียกฟังก์ชัน #
def greet(name):
print(f"こんにちは、{name} さん!")
greet("Alice")
ตัวแปรที่ประกาศภายในฟังก์ชันมองเห็นได้แค่ข้างใน (scope)
อาร์กิวเมนต์และค่าที่ส่งกลับ #
def add(a, b):
return a + b
result = add(10, 20)
print(result)
คีย์เวิร์ดอาร์กิวเมนต์และค่าเริ่มต้น #
def create_user(name, is_admin=False):
role = "admin" if is_admin else "user"
return {"name": name, "role": role}
create_user("Alice", is_admin=True)
Docstring #
def area_of_triangle(base, height):
"""คำนวณพื้นที่สามเหลี่ยมจากฐานและสูง"""
return base * height / 2
เรียก help(area_of_triangle) เพื่ออ่านคำอธิบายได้
ประกอบจากฟังก์ชันย่อย #
def read_scores():
return [int(x) for x in input("กรอกคะแนนคั่นด้วยจุลภาค: ").split(",")]
def calc_avg(scores):
return sum(scores) / len(scores)
def main():
scores = read_scores()
avg = calc_avg(scores)
print(f"ค่าเฉลี่ย {avg:.1f}")
if __name__ == "__main__":
main()
ลองทำดู #
- สร้างฟังก์ชัน
clean_textที่ตัดช่องว่างหัวท้ายและแปลงเป็นตัวพิมพ์ใหญ่ - เขียน
add_tax(price, rate=0.1)ที่รับราคาและอัตราภาษีแล้วคืนราคารวมภาษี - สร้างฟังก์ชันรับรายการสั่งซื้อ (ลิสต์ของดิกชันนารี) แล้วรวมยอดทั้งหมด หากรายการไหนขาดฟิลด์จำเป็นให้แจ้งเตือน