Python ตัวดำเนินการ (Operators)
ตัวดำเนินการคือสัญลักษณ์ที่บอกให้ Python ทำอะไรบางอย่างกับค่า เช่น บวกเลข เทียบว่าเท่ากันไหม หรือรวมเงื่อนไขหลายอันเข้าด้วยกัน เราแบ่งกลุ่มที่ใช้บ่อยออกเป็นสามกลุ่ม: คณิตศาสตร์ เปรียบเทียบ และตรรกะ
1. ตัวดำเนินการทางคณิตศาสตร์
| ตัวดำเนินการ | ความหมาย | ตัวอย่าง | ผลลัพธ์ |
|---|---|---|---|
+ | บวก | 5 + 2 | 7 |
- | ลบ | 5 - 2 | 3 |
* | คูณ | 5 * 2 | 10 |
/ | หาร (ได้ทศนิยมเสมอ) | 5 / 2 | 2.5 |
// | หารเอาส่วนที่เป็นจำนวนเต็ม | 5 // 2 | 2 |
% | หารเอาเศษ (mod) | 5 % 2 | 1 |
** | ยกกำลัง | 5 ** 2 | 25 |
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) # TruePython ยังเขียนแบบย่อได้ด้วย ซึ่งอ่านเหมือนคณิตศาสตร์เลย
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