ตัวดำเนินการเชิงเปรียบเทียบ != หมายถึงอะไร

ตัวดำเนินการ (Operators) คือกลุ่มของเครื่องหมายหรือสัญลักษณ์ที่ใช้ทำงานเหมือนกับฟังก์ชัน แต่แตกต่างกันตรงไวยากรณ์หรือความหมายในการใช้งาน ในภาษา Python นั้นสนับสนุนตัวดำเนินการประเภทต่างๆ สำหรับการเขียนโปรแกรม เช่น ตัวดำเนินการ a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 1 เป็นตัวดำเนินการทางคณิตศาสตร์ที่ใช้สำหรับการบวกตัวเลขเข้าด้วยกัน หรือตัวดำเนินการ a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 2 เป็นตัวดำเนินการเพื่อให้เปรียบเทียบค่าสองค่า

นี่เป็นรายการของตัวดำเนินการในภาษา Python ที่คุณจะได้เรียนในบทนี้

  • Assignment operator
  • Arithmetic operators
  • Comparison operators
  • Logical operators
  • Bitwise operators
  • Sequence Operators
  • Truth Value Testing

Assignment operator

ตัวดำเนินการที่เป็นพื้นฐานที่สุดสำหรับการเขียนโปรแกรมในทุกๆ ภาษาก็คือ ตัวดำเนินการกำหนดค่า (Assignment operator) ตัวดำเนินการนี้แสดงโดยใช้เครื่องหมายเท่ากับ (a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 3) มันใช้สำหรับกำหนดค่าให้กับตัวแปร มาดูตัวอย่างการใช้งานในภาษา 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

OperatorNameExample+Additiona + b-Subtractiona - b*Multiplicationa * b/Divisiona / b//Division and floora // b%Moduloa % b**Powera ** b

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

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power

ในตัวอย่าง เราได้ประกาศตัวแปร a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 4 และ a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 5 และกำหนดค่าให้กับตัวแปรทั้งสองเป็น 5 และ 3 ตามลำดับ ในสี่ตัวดำเนินการแรกเป็นการดำเนินการทางคณิตศาสตร์พื้นฐาน สำหรับตัวดำเนินการ a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 6 เป็นการหารเช่นเดียวกัน แต่ผลลัพธ์ของการหารนั้นจะตัดส่วนที่เป็นทศนิยมทิ้งไป ส่วนตัวดำเนินการ a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 7 นั้นเป็นการหารโดยผลลัพธ์จะเป็นเศษของการหารแทน ส่วนสุดท้าย a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 8 นั้นแทนการยกกำลัง

a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125

นี่เป็นผลลัพธ์การทำงานของโปรแกรมในการใช้งานตัวดำเนินการทางคณิตศาสตร์

Comparison operators

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

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

OperatorNameExample<Less thana < b<=Less than or equala <= b>Greater thana > b>=Greater than or equala >= b==Equala == b!=Not equala != bisObject identitya is bis notNegated object identitya is not b

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

# Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print()

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

4 == 4 : True 1 < 2: True 3 > 10: False 2 <= 1.5 False a != b: True a - b == 2: True

นี่เป็นผลลัพธ์การทำงานของโปรแกรมในการใช้ตัวดำเนินการเปรียบเทียบ

สำหรับตัวดำเนินการ a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 9 และ # Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print() 0 นั้นจะเกี่ยวข้องกับ การเขียนโปรแกรมเชิงวัตถุ ซึ่งเป็นรูปแบบการเขียนโปรแกรมขั้นสูง มันใช้สำหรับตรวจสอบความเท่ากันของออบเจ็ค โดยออบเจ็คเหล่านั้นจะต้องอ้างถึงที่อยู่ตำแหน่งเดียวกันในหน่วยความจำ (Reference type) เนื่องจากมันค่อนข้างซับซ้อน ดังนั้น เรามีอีกตัวอย่างที่จะช่วยให้คุณเข้าใจมากขึ้น

a = 10 b = a # Assign value of a to b b = 20 print(a) # result 10 print(b) # result 20

ในตัวอย่าง เราได้ประกาศตัวแปร a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 4 และกำหนดค่าเป็น # Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print() 2 และประกาศตัวแปร a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 5 โดยกำหนดค่าของมันให้เท่ากับค่าของตัวแปร a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 4 คุณจะเห็นว่าในคำสั่ง # Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print() 5 นั้นจะสร้างตัวแปรใหม่ที่ไม่เกี่ยวข้องกัน แต่มันแตกต่างสำหรับการเขียนโปรแกรมเชิงวัตถุ เพราะการใช้ตัวดำเนินการกำหนดค่า (a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 3) กับออบเจ็คนั้น จะเป็นการอ้างถึงหน่วยความจำแทน มาดูตัวอย่างถัดไป

class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3)

ในตัวอย่าง เราได้สร้างคลาส # Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print() 7 ซึ่งเป็นคลาสของบุคคลที่มีแอตทริบิวต์เป็น # Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print() 8 หลังจากนั้นเราได้สร้างออบเจ็คจากคลาสมาสองออบเจ็คคือ # Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print() 9 และ 4 == 4 : True 1 < 2: True 3 > 10: False 2 <= 1.5 False a != b: True a - b == 2: True 0

p3 = p1

ในบรรทัดถัดมา เรากำหนดตัวแปร # Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print() 9 ให้เท่ากับตัวแปร 4 == 4 : True 1 < 2: True 3 > 10: False 2 <= 1.5 False a != b: True a - b == 2: True 2 การทำเช่นนี้กับตัวแปรที่เป็น instance ของคลาสนั้นไม่ได้เป็นการสร้างออบเจ็คใหม่ขึ้นมา แต่เป็นการสร้างตัวแปรขึ้นมา โดยที่ตัวแปรนั้นมีหน่วยความจำเดียวกับตัวแปร # Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print() 9 นั่นจะทำให้สองตัวแปรนี้เป็นออบเจ็คเดียวกัน เพราะมันอ้างถึงข้อมูบเดียวกันในหน่วยความจำ และต่อมาเราได้ใช้ฟังก์ 4 == 4 : True 1 < 2: True 3 > 10: False 2 <= 1.5 False a != b: True a - b == 2: True 4 เพื่อตรวจสอบที่อยู่ของออบเจ็คในหน่วยความจำ จะเห็นว่าทั้งสองตัวแปรมีที่อยู่เดียวกัน

print('Changed p3 name to \'Tom\'') p3.setName('Tom')

ในคำสั่งต่อมา เป็นการเปลี่ยนชื่อในตัวแปร 4 == 4 : True 1 < 2: True 3 > 10: False 2 <= 1.5 False a != b: True a - b == 2: True 2 เป็น 4 == 4 : True 1 < 2: True 3 > 10: False 2 <= 1.5 False a != b: True a - b == 2: True 6 และหลังจากนั้นเราแสดงชื่อในแต่ละตัวแปรอีกครั้ง และผลลัพธ์ที่ได้คือชื่อของตัวแปร # Constant comparison print('4 == 4 :', 4 == 4) print('1 < 2:', 1 < 2) print('3 > 10:', 3 > 10) print('2 <= 1.5', 2 <= 1.5) print() # Variable comparison a = 10 b = 8 print('a != b:', a != b) print('a - b == 2:', a - b == 2) print() 9 ก็เปลี่ยนไปเช่นกัน นี่เป็นการยืนยันว่าทั้งสองตัวแปรนั้นเป็นออบเจ็คเดียวกัน และในตอนท้าย เราได้ทำการเปรียบเทียบด้วยตัวดำเนินการ a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 9

Memory address of a: 52840560 Memory address of b: 52840624 Memory address of c: 52840560 p1 name: Tommy p3 name: Tommy Changed p3 name to 'Tom' p1 name: Tom p3 name: Tom p1 is p2: False p1 is p3: True

และนี่เป็นผลลัพธ์การทำงานของโปรแกรม

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

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 0

ในตัวอย่าง เป็นโปรแกรมในการรับค่าตัวเลขแบบ Integer แล้วเราใช้คำสั่ง if ในการตรวจสอบตัวเลขสองอย่างคือ ตรวจสอบว่าเป็นเลขคู่หรือเลขคี่ และตรวจสอบว่าเป็นจำนวนเต็มบวก เต็มลบ หรือศูนย์ ในเงื่อนไข 4 == 4 : True 1 < 2: True 3 > 10: False 2 <= 1.5 False a != b: True a - b == 2: True 9 นั้นเป็นการตรวจโดยการหารเอาเศษ ซึ่งมีความหมายว่า หากตัวเลขนั้นหารแล้วมีเศษเท่ากับ 0 นั้นหมายความว่าตัวเลขจะเป็นเลขคู่และในบล็อคคำสั่ง if จะทำงาน และถ้าไม่เป็นจริงโปรแกรมจะทำงานในบล็อคคำสั่ง else แทน ในบล็อคของคำสั่ง if ต่อมา เป็นการตรวจสอบว่าตัวเลขนั้นเป็นตัวเลขที่มากกว่า น้อยกว่า หรือเท่ากับศูนย์

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 1a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 2

นี่เป็นผลลัพธ์การทำงานของโปรแกรมสองครั้ง เมื่อเรากรอกตัวเลขเป็น 5 และ -1 ตามลำดับ และโปรแกรมจะบอกเราว่าตัวเลขนั้นเป็นแบบไหน

Logical operators

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

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

OperatorExampleResultanda and bTrue if a and b are true, else Falseora or bTrue if a or b are true, else Falsenotnot aTrue if a is False, else True

ในภาษา Python นั้นมีตัวดำเนินการทางตรรกศาสตร์ 3 ชนิด คือ ตัวดำเนินการ a = 10 b = a # Assign value of a to b b = 20 print(a) # result 10 print(b) # result 20 0 เป็นตัวดำเนินการที่ใช้เชื่อมสอง Expression และได้ผลลัพธ์เป็น True หาก Expression ทั้งสองเป็น True ไม่เช่นนั้นจะได้ผลลัพธ์เป็น False ตัวดำเนินการ a = 10 b = a # Assign value of a to b b = 20 print(a) # result 10 print(b) # result 20 1 เป็นตัวดำเนินการที่ใช้เชื่อมสอง Expression และได้ผลลัพธ์เป็น True หากมีอย่างน้อยหนึ่ง Expression ที่เป็น True ไม่เช่นนั้นได้ผลลัพธ์เป็น False และตัวดำเนินการ a = 10 b = a # Assign value of a to b b = 20 print(a) # result 10 print(b) # result 20 2 ใช้ในการกลับค่าจาก True เป็น False และในทางกลับกัน มาดูตัวอย่างการใช้งาน

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 3

ในตัวอย่าง เราได้สร้างโปรแกรมจำลองในการเข้าสู่ระบบของหน้าเว็บไซต์ ในการที่จะเข้าสู่ระบบ ผู้ใช้ต้องกรอกชื่อผู้ใช้และรหัสผ่านให้ถูกต้อง ดังนั้นเราจึงใช้ตัวดำเนินการ a = 10 b = a # Assign value of a to b b = 20 print(a) # result 10 print(b) # result 20 0 เพื่อตรวจสอบว่าทั้งชื่อผู้ใช้และรหัสผ่านนั้นถูกต้อง ทำให้เงื่อนไขเป็นจริงและในบล็อคคำสั่ง if จะทำงาน

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 4

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

Bitwise operators

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

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

OperatorNameResult&Bitwise anda & b|Bitwise ora | b^Bitwise exclusive ora ^ b<<Bitwise shifted lefta << b>>Bitwise shifted righta >> b~Bitwise invert~a

ตัวดำเนินการระดับบิตใช้จัดการกับบิตของข้อมูลที่เป็นตัวเลข โดยปกติแล้วเมื่อเรากำหนดค่าให้กับตัวแปรนั้น คอมพิวเตอร์จะเก็บค่าเหล่านี้ในหน่วยความจำในรูปแบบของตัวเลขฐานสอง (binary form) ซึ่งประกอบไปด้วยเพียง 1 และ 0 เท่านั้น ดังนั้นเราใช้ตัวดำเนินการเหล่านี้ในการจัดการกับข้อมูลได้โดยตรง มาดูตัวอย่าง

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 5

ในตัวอย่าง เป็นการใช้ตัวดำเนินการระดับบิตประเภทต่างๆ ในภาษา Python เรามีตัวแปร a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 4 และตัวแปร a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 5 และกำหนดค่า 3 และ 5 ให้กับตัวแปรตามลำดับ เราได้คอมเมนต์ค่าในฐานสองไว้ด้วย ในการทำงานนั้นโปรแกรมจะทำงานทีละคู่ของบิต ดูวิธีการคำนวณต่อไปนี้ประกอบ

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 6

จากการแสดงการทำงานข้างบนนั้น ในตัวดำเนินการ a = 10 b = a # Assign value of a to b b = 20 print(a) # result 10 print(b) # result 20 6 หากทั้งสองบิตมีค่าเป็น 1 จะได้ผลลัพธ์เป็น 1 ไม่เช่นนั้น 0 ในตัวดำเนินการ a = 10 b = a # Assign value of a to b b = 20 print(a) # result 10 print(b) # result 20 7 หากอย่างน้อยหนึ่งบิตที่มีค่าเป็น 1 จะได้ผลลัพธ์เป็น 1 ไม่เช่นนั้น 0 ในตัวดำเนินการ a = 10 b = a # Assign value of a to b b = 20 print(a) # result 10 print(b) # result 20 8 หากทั้งสองบิตนั้นแตกต่างกันจะได้ผลลัพธ์เป็น 1 ไม่เช่นนั้น 0 และในตัวดำเนินการ a = 10 b = a # Assign value of a to b b = 20 print(a) # result 10 print(b) # result 20 9 นั้นเป็นการกลับค่าของบิต หลังจากนั้นเราแปลงผลลัพธ์ที่ได้กลับไปยังฐานสิบ

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 7

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

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 8

นี่เป็นผลลัพธ์การทำงานของโปรแกรม ในการใช้งานตัวดำเนินการระดับบิตในภาษา Python

Sequence Operators

ในภาษา Python มีตัวดำเนินการในการตรวจสอบการเป็นสมาชิกในออบเจ็คประเภท List Tuple และ Dictionary ตัวดำเนินการ class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 0 ใช้ในการตรวจสอบถ้าหากค่านั้นมีอยู่ในออบเจ็ค ถ้าหากพบจะได้ผลลัพธ์เป็น True และหากไม่พบจะได้ผลลัพธ์เป็น False และตัวดำเนินการ class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 1 นั้นจะทำงานตรงกันข้าม หากไม่พบจะได้ผลลัพธ์เป็น True แทน

นี่เป็นตารางของตัวดำเนินการในการตรวจสอบการเป็นสมาชิกในออบเจ็ค ในภาษา Python

OperatorNameExampleinObject membershipsa in bnot inNegated object membershipsa not in b

มาดูตัวอย่างการใช้งานของตัวดำเนินการเหล่านี้ เราจะใช้ในการตรวจสอบการมีอยู่ของข้อมูลใน List และ Dictionary

a = 5 b = 3 print("a + b = ", a + b) print("a - b = ", a - b) print("a * b = ", a * b) print("a / b = ", a / b) print("a // b = ", a // b) # floor number to integer print("a % b = ", a % b) # get division remainder print("a ** b = ", a ** b) # power 9

ในตัวอย่าง เป็นการตรวจสอบข้อมูลใน List และ Dictionary ในโปรแกรมของเรามีตัวแปร List class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 2 ซึ่งมีรายชื่ออยู่ภายใน เราใช้คำสั่ง if เพื่อตรวจสอบว่า class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 3 นั้นมีอยู่ใน List หรือไม่ ผลลัพธ์ที่ได้นั้นจะเป็นจริงเพราะชื่อมีอยู่

และต่อมาเราตรวจสอบ class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 4 นั้นไม่พบชื่อดังกล่าวใน List ต่อมาเป็นการตรวจสอบการมีอยู่ของข้อมูลใน Dictionary เนื่องจาก Dictionary นั้นเป็นข้อมูลที่เก็บในคู่ของ Key และ Values เพื่อตรวจสอบกับ Key เราต้องใช้เมธอด class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 5 และเมธอด class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 6 สำหรับ Value

a + b = 8 a - b = 2 a * b = 15 a / b = 1.6666666666666667 a // b = 1 a % b = 2 a ** b = 125 0

นี่เป็นผลลัพธ์การทำงานของโปรแกรม

Truth Value Testing

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

  • class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 7
  • class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 8
  • ค่าศูนย์ของข้อมูลประเภทตัวเลขใดๆ เช่น class Person: def __init__(self, name): self.name = name def setName(self, name): self.name = name def getName(self): return self.name p1 = Person('Tommy') p2 = Person('Jane') # Tell p3 to use memory address of p1 p3 = p1 print('Memory address of a: ', id(p1)) print('Memory address of b: ', id(p2)) print('Memory address of c: ', id(p3)) print('p1 name:', p1.getName()) print('p3 name:', p1.getName()) print('Changed p3 name to \'Tom\'') p3.setName('Tom') print('p1 name:', p1.getName()) print('p3 name:', p3.getName()) print('p1 is p2:', p1 is p2) print('p1 is p3:', p1 is p3) 9, p3 = p1 0, p3 = p1 1, p3 = p1 2
  • ข้อมูลแบบลำดับที่ว่างปล่าว เช่น p3 = p1 3, p3 = p1 4, p3 = p1 5
  • ข้อมูลแบบ map ที่่ว่างปล่าว p3 = p1 6
  • ตัวแปรจากคลาสที่ผู้ใช้สร้างขึ้น และคลาสดังกล่างถูกกำหนดเมธอด p3 = p1 7 หรือ p3 = p1 8 และเมธอดเหล่านี้ส่งค่ากลับเป็นศูนย์หรือค่า Boolean False

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

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

ตัวดำเนินการเชิงเปรียบเทียบ != หมายถึงอะไร

ตัวดำเนินการเชิงเปรียบเทียบ (Comparison operator) หมายถึง เครื่องหมายในการเปรียบเทียบข้อมูล ผลลัพธ์ที่ได้จะมีค่าตรรกบูลลีนเป็น จริง (True) และ เท็จ (False) ได้แก่ == หมายถึง เครื่องหมายเท่ากับ != หมายถึง เครื่องหมายไม่เท่ากับ > หมายถึง เครื่องหมายมากกว่า

เครื่องหมาย != มีความหมายตรงกับข้อใด

ความหมาย และตัวอย่างการใช้งาน ซึ่งจะให้ค่าผลลัพธ์เป็นจริงหรือเท็จ != ไม่เท่ากับ ตัวอย่าง a != b เป็นการเปรียบเทียบการไม่เท่ากับระหว่างตัวแปร a และ b ซึ่งจะให้ค่าผลลัพธ์เป็นจริงหรือเท็จ

ตัวดำเนินการ > , < และ == เป็นตัวดำเนินการประเภทใด

ตัวดำเนินการเท่ากับ (Equality Operator) ตัวดำเนินการเท่ากับ ใช้ในการเปรียบเทียบค่า 2 ค่า ว่ามีค่าเท่า หรือไม่เท่ากัน ตัวอย่าง การใช้งาน เช่น c == 'A'

ตัวดำเนินการข้อใดหมายถึง มากกว่า

* (เครื่องหมายดอกจัน) การคูณ = 3 * 3. / (เครื่องหมายทับ) ... การใช้ตัวดำเนินการการคำนวณในสูตร Excel..

ตัวดำเนินการ > , < และ == เป็นตัวดำเนินการประเภทใด

ตัวดำเนินการเท่ากับ (Equality Operator) ตัวดำเนินการเท่ากับ ใช้ในการเปรียบเทียบค่า 2 ค่า ว่ามีค่าเท่า หรือไม่เท่ากัน ตัวอย่าง การใช้งาน เช่น c == 'A'

ตัวดำเนินการ หมายถึงข้อใด

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

Arithmetic Operators มีอะไรบ้าง

Arithmetic Operators คือ ตัวดำเนินการทางคณิตศาสตร์ เช่น เครื่องหมายที่เราคุ้นเคยคือ + (บวก), - (ลบ), * (คูณ), / (หาร) และ % (หารเอาเศษ) โดยในบทความนี้จะแนะนำวิธีการประยุกต์ใช้ Arithmetic Operators กับตัวแปรในภาษาจาวา (Java) ครับ

ตัวดำเนินการทางตรรกศาสตร์ " || " มีความหมายอย่างไร

ตัวดำเนินการทางตรรกะ เป็นตัวดำเนินการเกี่ยวข้องกับนิพจน์ที่สามารถบอกค่าความจริงเป็นจริง(true) หรือเท็จ (false)ได้ หรือชนิดข้อมูลตรรกะ เช่น ตัวแปรประเภท boolean ผลลัพธ์ที่ได้จากการกระทำจะได้ค่าคงที่ตรรกะเป็น true หรือ false ตัวดำเนินการทางตรรกะได้แก่เครื่องหมาย !, &&, &, ||, |, ^ มีตัวอย่างการใช้งานดังนี้

กระทู้ที่เกี่ยวข้อง

Toplist

โพสต์ล่าสุด

แท็ก

แปลภาษาไทย ไทยแปลอังกฤษ โปรแกรม-แปล-ภาษา-อังกฤษ พร้อม-คำ-อ่าน lmyour แปลภาษา ห่อหมกฮวกไปฝากป้าmv แปลภาษาอาหรับ-ไทย แปลภาษาอังกฤษเป็นไทย pantip แอพแปลภาษาอาหรับเป็นไทย ค้นหา ประวัติ นามสกุล ห่อหมกฮวกไปฝากป้า หนังเต็มเรื่อง ไทยแปลอังกฤษ ประโยค Terjemahan เมอร์ซี่ อาร์สยาม ล่าสุด แปลภาษาจีน กรมส่งเสริมการปกครองท้องถิ่น ่้แปลภาษา Google Translate ข้อสอบคณิตศาสตร์ พร้อมเฉลย พร บ ระเบียบบริหารราชการแผ่นดิน ระเบียบกระทรวงการคลังว่าด้วยการจัดซื้อจัดจ้างและการบริหารพัสดุภาครัฐ พ.ศ. 2560 วิธีใช้มิเตอร์วัดไฟดิจิตอล สหกรณ์ออมทรัพย์กรมส่งเสริมการปกครอง ส่วนท้องถิ่น ห่อหมกฮวก แปลว่า Bahasa Thailand Thailand translate mu-x มือสอง รถบ้าน การวัดกระแสไฟฟ้า ด้วย แอมมิเตอร์ การ์ดแคปเตอร์ซากุระ ภาค 4 ก่อนจะนิ่งก็ต้องกลิ้งมาก่อน เนื้อเพลง ก่อนจะนิ่งก็ต้องกลิ้งมาก่อน แคปชั่น พจนานุกรมศัพท์ทหาร ภูมิอากาศ มีอะไรบ้าง สถาบันพัฒนาบุคลากรท้องถิ่น อาจารย์ ตจต อเวนเจอร์ส ทั้งหมด เขียน อาหรับ แปลไทย ใบรับรอง กรมพัฒนาฝีมือแรงงาน Google map Spirited Away 2 spirited away ดูได้ที่ไหน tor คือ จัดซื้อจัดจ้าง กินยาคุมกี่วัน ถึง ปล่อยในได้ ธาตุทองซาวด์เนื้อเพลง บช.สอท.ตำรวจไซเบอร์ ล่าสุด บบบย มิติวิญญาณมหัศจรรย์ ตอนจบ รหัสจังหวัด อําเภอ ตําบล ศัพท์ทางทหาร military words สอบ O หยน