Python Operators

Python Operators หรือตำราภาษาไทยใช้คำว่า “ตัวดำเนินการ” เป็นเครื่องหมายกำหนดการทำงาน ในภาษาไพธอน เรียกกันแบบบ้าน ๆ ก็พวก เครื่องหมาย หรือ สัญลักษณ์ ที่ใช้ในกระบวนการต่าง ๆ

Python Operators ประเภทต่าง ๆ

สำหรับ Python Operators นี้จะมีหลายประเภท แต่โดยคร่าว ๆ แล้ว เวลาพูดถึง Python Operators ให้นึกถึงการ บวก ลบ คูณ หาร มากกว่า น้อยกว่า หรือว่าเปรียบเทียบ ซึ่งเราจะแบ่งออกเป็นประเภทต่าง ๆ ดังนี้

Assignment operator

สำหรับ assignment ก็คือ การกำหนดค่า ซึ่งเป็นพื้นฐานที่สุด พูดง่าย ๆ ก็คือ เครื่องหมายเท่ากับ (=) นั่นเอง ใช้สำหรับกำหนดค่าให้กับตัวแปร ว่าตัวแปรนี้ คืออะไร ซึ่งเรื่องนี้ได้เขียนในเรื่อง variable โปรดอ่านที่ https://datarevol.com/coding/python-variable/

ตัวอย่าง

a = 123
b = a
name = 'DataRevol.com'
list_a = [1, 2, 3, 4, 5]

ข้อควรระวัง ย้ำอีกครั้ง = ไม่ใช่สมการ แต่เป็นการกำหนดค่า เช่น

a = 1; b = 9
a,b = b,a

แปลว่า a จะเท่ากับ 9 และ b จะเท่ากับ 1 ไม่ใช่ค่า a มีค่าเท่ากับค่า b

หรือ

a = 1
b = a
b = 5

จากตัวอย่างนี้ ผลลัพธ์คือ ค่า a เท่ากับ 1 แต่ ค่า b จะเท่ากับ 5 แม้ว่า บรรทัดก่อนหน้าเราจะกำหนดให้ b เท่ากับ a ไปแล้ว

Arithmetic operators

Arithmetic คือสัญลักษณ์ทางคณิตศาสตร์ บวก ลบ คูณ หาร และอื่น ๆ ตามนี้

Operatorตัวอย่างหมายถึง
+a + ba บวก b
a – ba ลบ b
*a * ba คูณด้วย b
/a / ba หารด้วย b
//a // ba หารด้วย b และตัดเศษเป็นจำนวนเต็ม
%a % ba หารด้วย b และตัดจำนวนเต็มเหลือแต่เศษจากการหาร
**a ** ba ยกกำลัง b

ตัวอย่าง

a=2
b=8
c = a + b
d = a - b
e = a * b
f = a / b
g = a // b
h=  a% b
i = a ** b
print('a=', a)
print('b=',b)
print('c=',c)
print('d=',d)
print('e=',e)
print('f=',f)
print('g=',g)
print('h=',h)
print('i=',i)

คือ การทำงานตามที่คุ้นเคยเวลาเรียนวิชาเลขนั่นแหละ ในตัวอย่าง โดยกำหนด ค่า a เท่ากับ 2 ค่า b เท่ากับ 8 และตั้งแต่ c ถึง  i คือการกำหนดให้ดำเนินการต่าง ๆ

อย่างที่บอกข้างต้น เครื่องหมายเท่ากับ (=) คือ assignment operator ซึ่งเป็นการกำหนดค่า ซึ่งสำหรับค่า ตั้งแต่ c จะกำหนดค่าจาก Arithmetic Operators (คือเครื่องหมายเพื่อดำเนินการทางคณิตศาสตร์ต่าง ๆ)

ตัวที่โดนดำเนินการ เราจะเรียกว่า operands และ operands กับ operator รวมกันทั้งหมด เราเรียกว่า expressions

เช่น a + b ตรง a กับ b คือ operands เครื่องหมาย + คือ operator และ รวมทั้งหมด (a + b) คือ expression

ซึ่งจากตัวอย่างข้างต้น จะได้ผลลัพธ์ดังนี้

a= 2
b= 8
c= 10
d= -6
e= 16
f= 0.25
g= 0
h= 2
i= 256
Python Operators

Tip: ถ้าเป็นการดำเนินการระหว่าง จำนวนเต็ม (int) กับ จำนวนจริง (float) จะได้ผลลัพธ์เป็นจำนวนจริง เช่น 5 (จำนวนเต็ม) + 6.0 (จำนวนจริง) จะได้ 11.0 (จำนวนจริง)

Comparison operators

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

Operatorsตัวอย่างหมายถึงผลลัพธ์
==a == ba เท่ากับ bTrue ถ้าค่าของของ a เท่ากับค่าของ b 
!=a != ba ไม่เท่ากับ bTrue ถ้าค่าของของ a ไม่เท่ากับค่าของ b 
<a < ba น้อยกว่า bTrue ถ้าค่าของของ a น้อยกว่าค่าของ b 
<=a <= ba น้อยกว่า หรือ เท่ากับ bTrue ถ้าค่าของของ a น้อยกว่าหรือเท่ากับค่าของ b 
>a > ba มากกว่า bTrue ถ้าค่าของของ a มากกว่าค่าของ b 
>=a >= ba มากกว่า หรือ เท่ากับ bTrue ถ้าค่าของของ a มากกว่าหรือเท่ากับค่าของ b 

ตัวอย่าง

print('1 ==1 :', 1== 1)
print('1 < 2:', 1 < 2)
print('1 > 1:', 1 > 2)
print('1 <= 1.5', 1 <= 1.5)
Python Operators

ในการเปรียบเทียบ มากกว่า น้อยกว่า หรือ เท่า ไม่เท่า คงไม่ต้องอธิบายอะไรมาก แต่สำหรับ is กับ is not นั้นจะเกี่ยวข้องกับ การเขียนโปรแกรมเชิงวัตถุ (หรือ object)  สำหรับตรวจสอบความเท่ากันของ object โดยจะต้องอ้างถึงที่อยู่ตำแหน่งเดียวกันในหน่วยความจำ (Reference type)

Logical operators

Logical คือ ด้านตรรกศาสตร์ ซึ่งเป็นค่าที่มีเพียงจริง (True) และเท็จ (False) เท่านั้น จะคล้าย ๆ กับ Comparison คือได้ผลลัพธ์เป็น Boolean คือ True หรือ False จะมี operator เพียงแค่ 3 ชนิดเท่านั้นคือ

  • And เชื่อม expression ที่จะต้องเป็น True ทั้งสองค่า จะได้เป็น True
  • Or เชื่อม expression ที่ค่าใดค่าหนึ่งเป็น True จะได้เป็น True
  • Not จะกลับค่า True เป็น False

โดยทั่วไปแล้ว เราจะใช้ operator นี้กับข้อมูลประเภท Boolean และจะได้ผลลัพธ์เป็น Boolean เช่นกัน

Bitwise operators

Bitwise operators คือตัวดำเนินการในข้อมูลระดับบิต หรือจัดการข้อมูลในระบบเลขฐานสอง โดยทั่วไปแล้วตัวดำเนินการระดับบิตมักจะใช้กับการเขียนโปรแกรมระดับต่ำ เช่น การเขียนโปรแกรมเพื่อควบคุมฮาร์ดแวร์ อย่างไรก็ตาม ในภาษา Python นั้นสนับสนุนตัวดำเนินการเพื่อให้เราสามารถจัดการกับบิตของข้อมูลโดยตรงได้

Sequence Operators

Sequence เป็นตัวดำเนินการตรวจสอบการเป็นสมาชิก object ประเภท List Tuple และ Dictionary

in ใช้ในการตรวจสอบถ้าหากค่านั้นมีอยู่ในออบเจ็ค ถ้าหากพบจะได้ผลลัพธ์เป็น True และหากไม่พบจะได้ผลลัพธ์เป็น False

not in นั้นจะทำงานตรงกันข้าม หากไม่พบจะได้ผลลัพธ์เป็น True แทน

Truth Value Testing

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

  • None
  • False
  • ค่าศูนย์ของข้อมูลประเภทตัวเลขใดๆ เช่น 0, 0L, 0.0, 0j
  • ข้อมูลแบบลำดับที่ว่างปล่าว เช่น ”, (), []
  • ข้อมูลแบบ map ที่่ว่างปล่าว {}
  • ตัวแปรจากคลาสที่ผู้ใช้สร้างขึ้น และคลาสดังกล่างถูกกำหนดเมธอด __nonzero__() หรือ __len__() และเมธอดเหล่านี้ส่งค่ากลับเป็นศูนย์หรือค่า Boolean False

ส่วนค่าอื่นๆ ที่นอกเหนือจากที่ได้กล่าวไปนั้นจะถูกประเมินเป็น True ทั้งหมด และ object ของประเภทใดๆ ก็เป็น True เช่นกัน

สำหรับ Python Operators นี้จะมีบางเรื่องที่อาจจะต้องเขียนเสริมอีกต่างหากในอนาคต แต่ครั้งนี้ขอให้ทำความเข้าใจกันเบื้องต้นว่า ที่เรียกว่า Python Operators นั้นมีอะไรบ้าง

อ้างอิง: https://www.w3schools.com/python/python_operators.asp

ความคิดเห็นของคุณ :)

%d bloggers like this: