ตัวดำเนินการ ในภาษา Python

ตัวดำเนินการ (Operators) คือกลุ่มของเครื่องหมายหรือสัญลักษณ์ที่ใช้ทำงานเหมือนกับฟังก์ชัน แต่แตกต่างกันตรงไวยากรณ์หรือความหมายในการใช้งาน ในภาษา Python นั้นสนับสนุนตัวดำเนินการประเภทต่างๆ สำหรับการเขียนโปรแกรม เช่น ตัวดำเนินการ + เป็นตัวดำเนินการทางคณิตศาสตร์ที่ใช้สำหรับการบวกตัวเลขเข้าด้วยกัน หรือตัวดำเนินการ > เป็นตัวดำเนินการเพื่อให้เปรียบเทียบค่าสองค่า

Assignment operator

ตัวดำเนินการที่เป็นพื้นฐานที่สุดสำหรับการเขียนโปรแกรมในทุกๆ ภาษาก็คือ ตัวดำเนินการกำหนดค่า (Assignment operator) ตัวดำเนินการนี้แสดงโดยใช้เครื่องหมายเท่ากับ (=) มันใช้สำหรับกำหนดค่าให้กับตัวแปร มาดูตัวอย่างการใช้งานในภาษา Python

a = 3
b = 5.29
c = b
name = 'Mateo'
my_list = [2, 5, 8, 10, 24]
x, y = 10, 20

ในตัวอย่าง เป็นการใช้งานตัวดำเนินการกำหนดค่าสำหรับกำหนดค่าให้กับตัวแปรประเภทต่างๆ โดยทั่วไปแล้ว ตัวดำเนินการกำหนดค่านั้นเกือบจะใช้ในทุกๆ ที่ในโปรแกรมและเป็นตัวดำเนินการที่ใช้บ่อยที่สุดของในบรรดาตัวดำเนินการทั้งหมด


Arithmetic operators

ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic operators) คือตัวดำเนินการที่ใช้สำหรับการคำนวณทางคณิตศาสตร์ในพื้นฐาน เช่น การบวก การลบ การคูณ และการหาร มากไปกว่านั้น ในภาษา Python ยังมีตัวดำเนินการทางคณิตศาสตร์เพิ่มเติม เช่น การหารเอาเศษ (Modulo) การหารแบบเลขจำนวนเต็ม และการยกกำลัง เป็นต้น นี่เป็นตารางของตัวดำเนินการทางคณิตศาสตร์ในภาษา Python

mathoperator

 ในตารางข้างบน เรามีตัวดำเนินการทางคณิตศาสตร์ประเภทต่างๆ สำหรับการคำนวณเกี่ยวกับคณิตศาสตร์เบื้องต้น คุณอาจจะคุ้นเคยกับตัวดำเนินการบวก ลบ คูณ หาร ในการเรียนระดับมัธยมศึกษามาบ้างแล้ว ในภาษา Python นั้นสนับสนุนตัวดำเนินการสำหรับการหารเอาเศษเช่นเดียวกับภาษาอื่นๆ และนอกจากนี้ ยังมีตัวดำเนินการแบบการหารที่ได้ผลลัพธ์เป็นจำนวนเต็ม การหารแบบเอาเฉพาะเศษ และการหาเลขยกกำลังเพิ่มเข้ามา อีกด้วย

Comparison operators

ตัวดำเนินการเปรียบเทียบ (Comparison operators) คือตัวดำเนินการที่ใช้สำหรับเปรียบเทียบค่าหรือค่าในตัวแปร ซึ่งผลลัพธ์ของการเปรียบเทียบนั้นจะเป็น True หากเงื่อนไขเป็นจริง และเป็น False หากเงื่อนไขไม่เป็นจริง ตัวดำเนินการเปรียบเทียบมักจะใช้กับคำสั่งตรวจสอบเงื่อนไข if และคำสั่งวนซ้ำ for while เพื่อควบคุมการทำงานของโปรแกรม

นี่เป็นตารางของตัวดำเนินการเปรียบเทียบในภาษา Python

 compareoperator

 

Logical operators

ตัวดำเนินการตรรกศาสตร์ (Logical operators) คือตัวดำเนินการที่ใช้สำหรับประเมินค่าทางตรรกศาสตร์ ซึ่งเป็นค่าที่มีเพียงจริง (True) และเท็จ (False) เท่านั้น โดยทั่วไปแล้วเรามักใช้ตัวดำเนินการตรรกศาสตร์ในการเชื่อม Boolean expression ตั้งแต่หนึ่ง expression ขึ้นไปและผลลัพธ์สุดท้ายที่ได้นั้นจะเป็น Boolean

นี่เป็นตารางของตัวดำเนินการตรรกศาสตร์ในภาษา Python

OperatorExampleResult
and a and b True if a and b are true, else False
or a or b True if a or b are true, else False
not not a True if a is False, else True

 

ในภาษา Python นั้นมีตัวดำเนินการทางตรรกศาสตร์ 3 ชนิด คือ ตัวดำเนินการ and เป็นตัวดำเนินการที่ใช้เชื่อมสอง Expression และได้ผลลัพธ์เป็น True หาก Expression ทั้งสองเป็น True ไม่เช่นนั้นจะได้ผลลัพธ์เป็น False ตัวดำเนินการ or เป็นตัวดำเนินการที่ใช้เชื่อมสอง Expression และได้ผลลัพธ์เป็น True หากมีอย่างน้อยหนึ่ง Expression ที่เป็น True ไม่เช่นนั้นได้ผลลัพธ์เป็น False และตัวดำเนินการ not ใช้ในการกลับค่าจาก True เป็น False และในทางกลับกัน มาดูตัวอย่างการใช้งาน

print('Log in page')
username = input('Username: ')
password = input('Password: ')

if (username == 'admin' and password == '3456'):
    print('Welcome Mateo, you\'ve logged in.')
else:
    print('Invalid username or password.')

ในตัวอย่าง เราได้สร้างโปรแกรมจำลองในการเข้าสู่ระบบของหน้าเว็บไซต์ ในการที่จะเข้าสู่ระบบ ผู้ใช้ต้องกรอกชื่อผู้ใช้และรหัสผ่านให้ถูกต้อง ดังนั้นเราจึงใช้ตัวดำเนินการ and เพื่อตรวจสอบว่าทั้งชื่อผู้ใช้และรหัสผ่านนั้นถูกต้อง ทำให้เงื่อนไขเป็นจริงและในบล็อคคำสั่ง if จะทำงาน

Log in page
Username: admin
Password: 3456
Welcome admin, you've logged in.

นี่เป็นผลลัพธ์การทำงานของโปรแกรม เมื่อเรากรอกชื่อผู้ใช้เป็น "admin" และรหัสผ่านเป็น "3456" ซึ่งถูกต้องทั้งสองอย่างทำให้สามารถเข้าสู่ระบบได้สำเร็จ

ลำดับความสำคัญของตัวดำเนินการใน Python Operators Precedence

ในตารางจะแสดง operators ทั้งหมดของ ไพทอน ลำดับความสำคัญจากมากไปน้อย

OperatorDescription
** ยกกำลัง
~ + - Ccomplement, unary plus and minus
* / % // คูณ, หาร, modulo and floor division
+ - บวก, ลบ
>> << Right and left bitwise shift
& Bitwise 'AND'
^ | Bitwise exclusive `OR' and regular `OR'
<= < > >= Comparison operators
<> == != Equality operators
= %= /= //= -= += *= **= Assignment operators
is is not Identity operators
in not in Membership operators
not or and Logical operators

นอกจากในตารางแล้วยังมีตัวดำเนินการที่มีลำดับความคำคัญสูงสุดคือ "(...)"
ตัวอย่าง
a=2
b=3
c=4
print(a**b+c)

มีค่าเท่ากับ
print (2*2*2+4);

จะได้ผลลัพท์ เป็น 12

---------------------------------------------------------------------------------------------------------

นิพจน์ (Expression) 
        นิพจน์ คือ การนำเอาค่าคงที่ หรือตัวแปรต่าง ๆ มาดำเนินการประมวลผล โดยผ่านทางเครื่องหมายทางคณิตศาสตร์ หรืออาจจะเป็นเครื่องหมายในการเปรียบเทียบ ตัวอย่างนิพจน์ที่มักจะพบในปัจจุบัน เช่น
a + b = 0, a + 5 = 10 เป็นต้น นิพจน์ สามารถแบ่งออกได้เป็น 2 ประเภท คือ


1.
นิพจน์ทางคณิตศาสตร์ 
2.
นิพจน์ทางตรรกศาสตร์ 

1. นิพจน์ทางคณิตศาสตร์ 
      
  เป็นเหมือนนิพจน์ทางคณิตศาสตร์ทั่ว ๆ ไป เพียงแต่จะต้องมีการเปลี่ยนเครื่องหมายทางคณิตศาสตร์ทั่วไป เช่น + - x และ ÷ ให้อยู่ในรูปแบบของเครื่องหมายทางคณิตศาสตร์ที่ใช้ในระบบคอมพิวเตอร์ ซึ่งจะพบว่าเครื่องหมาย x (คูณ) จะต้องเปลี่ยนเป็น * ส่วนเครื่องหมาย ÷(หาร) จะเปลี่ยนเป็น / เพื่อให้คอมพิวเตอร์รับรู้ว่ากำลังจะดำเนินการใดอยู่ ดังตารางที่ 1

        ตัวอย่างการเปรียบเทียบนิพจน์ทางคณิตศาสตร์

      นิพจน์ในทางคณิตศาสตร์ทั่วไป
นิพจน์ในทางคณิตศาสตร์ในคอมพิวเตอร์
a + b + c
a + b + c
2ab + c
2 * a * b + c
 a + b
c + d
a + b / c + d
(a x b) + c
( a * b ) + c
2a + 3b
C
(2 * a) + (3 * b) / c

         ลำดับการประมวลผลของเครื่องหมายในการคำนวณ ลำดับในการประมวลผลทางคณิตศาสตร์ในทางคอมพิวเตอร์ที่ใช้ในการคำนวณนั้น จะมีความสำคัญและประมวลผลลำดับก่อนหรือหลังนั้นจะขึ้นกับเครื่องหมายทางคณิตศาสตร์ที่เขียนด้วย โดยระบบคอมพิวเตอร์จะดำเนินการจากซ้ายไปขวา

2. นิพจน์ทางตรรกศาสตร์ 
        เป็นเหมือนนิพจน์ทางตรรกศาสตร์ทั่ว ๆ ไป ที่จะต้องมีการเปรียบเทียบความเป็นจริงและเท็จ
แต่การเขียนนิพจน์ทางตรรกศาสตร์ในทางคอมพิวเตอร์ จะต้องเขียนให้อยู่ในรูปแบบการเปรียบเทียบ
โดยใช้เครื่องหมาย && (และ) , || (หรือ) และ ! (นิเสธ) ดังตารางที่ 2


        ตัวอย่างการใช้นิพจน์ทางตรรกศาสตร์
          
      กำหนดให้ a = 5 , b = 10 และ c = 20

  • ฮิต: 237