Python ตัวดำเนินการ (Operators)



ตัวดำเนินการคือสัญลักษณ์ที่บอกให้ Python ทำอะไรบางอย่างกับค่า เช่น บวกเลข เทียบว่าเท่ากันไหม หรือรวมเงื่อนไขหลายอันเข้าด้วยกัน เราแบ่งกลุ่มที่ใช้บ่อยออกเป็นสามกลุ่ม: คณิตศาสตร์ เปรียบเทียบ และตรรกะ

1. ตัวดำเนินการทางคณิตศาสตร์

ตัวดำเนินการความหมายตัวอย่างผลลัพธ์
+บวก5 + 27
-ลบ5 - 23
*คูณ5 * 210
/หาร (ได้ทศนิยมเสมอ)5 / 22.5
//หารเอาส่วนที่เป็นจำนวนเต็ม5 // 22
%หารเอาเศษ (mod)5 % 21
**ยกกำลัง5 ** 225

a = 17
b = 5

print(a + b)   # 22
print(a / b)   # 3.4
print(a // b)  # 3
print(a % b)   # 2
print(a ** b)  # 1419857

สองตัวที่คนใหม่มักงงคือ // กับ %

  • // คือ “หารแล้วปัดทิ้งเศษ” เช่น 17 // 5 ได้ 3 (เพราะ 5 คูณ 3 ได้ 15 ไม่เกิน 17)
  • % คือ “เศษที่เหลือจากการหาร” เช่น 17 % 5 ได้ 2 (เพราะ 17 – 15 = 2)

% มีประโยชน์มากเวลาอยากรู้ว่าเลขหารลงตัวไหม เช่น เช็คเลขคู่เลขคี่

n = 8
print(n % 2)   # 0 แปลว่าเลขคู่ (หาร 2 ลงตัว)

2. ตัวดำเนินการเปรียบเทียบ

กลุ่มนี้ให้ผลลัพธ์เป็น True หรือ False เสมอ

ตัวดำเนินการความหมาย
==เท่ากันไหม
!=ไม่เท่ากันไหม
>มากกว่า
<น้อยกว่า
>=มากกว่าหรือเท่ากับ
<=น้อยกว่าหรือเท่ากับ

score = 75

print(score == 100)   # False
print(score != 0)     # True
print(score >= 50)     # True

ระวังอย่าสับสนระหว่าง = กับ ==

  • = คือการกำหนดค่าให้ตัวแปร (x = 5 แปลว่า “ให้ x มีค่าเป็น 5”)
  • == คือการถามว่าเท่ากันไหม (x == 5 แปลว่า “x เท่ากับ 5 หรือเปล่า”)

3. ตัวดำเนินการทางตรรกะ

ใช้รวมเงื่อนไขหลายอันเข้าด้วยกัน

ตัวดำเนินการความหมาย
andจริงทั้งคู่ ถึงจะจริง
orจริงอย่างน้อยหนึ่งอัน ก็จริง
notกลับผลลัพธ์ จริงเป็นเท็จ เท็จเป็นจริง

age = 20
has_id = True

print(age >= 18 and has_id)   # True ทั้งสองเงื่อนไขเป็นจริง
print(age < 13 or has_id)      # True เพราะ has_id เป็นจริง
print(not has_id)              # False

ตัวอย่างที่ใกล้เคียงชีวิตจริง: เช็คว่าคะแนนอยู่ในช่วงที่กำหนดไหม

score = 68
print(score >= 50 and score <= 80)   # True

Python ยังเขียนแบบย่อได้ด้วย ซึ่งอ่านเหมือนคณิตศาสตร์เลย

print(50 <= score <= 80)   # True

ลำดับการคำนวณ

Python คิดเลขตามลำดับความสำคัญเหมือนคณิตศาสตร์ที่เราเรียนมา คือ ยกกำลังก่อน แล้วคูณหาร แล้วค่อยบวกลบ ถ้าไม่แน่ใจให้ใส่วงเล็บครอบไว้ อ่านง่ายกว่าและไม่พลาด

print(2 + 3 * 4)      # 14 (คูณก่อน)
print((2 + 3) * 4)    # 20 (วงเล็บก่อน)

ตัวอย่างรวม: คำนวณเกรดเฉลี่ยและตัดเกรด

math = float(input("คะแนนคณิต: "))
science = float(input("คะแนนวิทย์: "))
english = float(input("คะแนนอังกฤษ: "))

average = (math + science + english) / 3
passed = average >= 50

print("คะแนนเฉลี่ย =", average)
print("ผ่านเกณฑ์:", passed)

ผลลัพธ์:

คะแนนคณิต: 80
คะแนนวิทย์: 65
คะแนนอังกฤษ: 55
คะแนนเฉลี่ย = 66.66666666666667
ผ่านเกณฑ์: True

สรุป

  • ตัวดำเนินการคณิตศาสตร์ที่ต้องจำให้แม่นคือ / (ได้ทศนิยม), // (ตัดเศษ), % (เอาเศษ)
  • ตัวดำเนินการเปรียบเทียบให้ผลเป็น True/False และ == ไม่ใช่ =
  • and, or, not ใช้ต่อเงื่อนไขหลายอัน จะได้เอาไปใช้กับ if ในบทถัด ๆ ไป

บทถัดไปเราจะไปดูวิธีจัดรูปแบบข้อความให้สวยด้วย f-string