Python ตอนที่ 64 ข้อมูลชนิด Boolean

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

print(20 > 19)  # True
print(22 == 7)  # False
print(100 < 4)  # False
  • บรรทัดที่ 1 ผลลัพธ์เป็น True เพราะ 20 มีค่ามากกว่า 19 จริง
  • บรรทัดที่ 2 ผลลัพธ์เป็น False เพราะ 22 ไม่เท่ากับ 7
  • บรรทัดที่ 3 ผลลัพธ์เป็น False เพราะ 100 ไม่ได้น้อยกว่า 4
x = 758
y = 950

if x > y:
    print("x is greater than y")
else:
    print("x is not greater than y") 
  • บรรทัดที่ 4 ตรวจสอบว่า x มีค่ามากกว่า y หรือไม่
  • บรรทัดที่ 5 คำสั่งทำงานในกรณีที่ x มากกว่า y
  • บรรทัดที่ 7 คำสั่งทำงานในกรณีที่ไม่ตรงเงื่อนไข

การตรวจสอบตัวแปรและค่าต่าง ๆ ด้วยฟังก์ชัน bool()

เราสามารถใช้ฟังก์ชัน bool() ตรวจสอบตัวแปร และค่าต่าง ๆ ได้ โดยจะได้ผลลัพธ์กลับมาเป็นค่า True หรือ False เช่น

print(bool("Python"))   # True
print(bool(88))         # True

x = "Python"
y = 88

print(bool(x))          # True
print(bool(y))          # True

อย่างไรก็ตาม ค่าข้อมูลเกือบทั้งหมดจะเป็น True ถ้ามันมีค่า อย่างเช่นโค้ดตัวอย่างด้านบน เมื่อตรวจสอบด้วยฟังก์ชัน bool() จะมีผลลัพธ์เป็น True ทั้งหมด โดยค่าไหนจะเป็น True ค่าไหนจะเป็น False พิจารณาได้ดังนี้

  • สตริงเกือบทั้งหมดจะมีค่าเป็น True ยกเว้นสตริงว่าง
  • ตัวเลขเกือบทั้งหมดจะมีค่าเป็น True ยกเว้นตัวเลข 0
  • ข้อมูลประเภท list, tuple, set และ dictionary จะมีค่าเป็น True ยกเว้น list, tuple, set และ dictionary ที่เป็นค่าว่างหรือไม่มีค่าใด ๆ อยู่เลย

ตัวอย่างการตรวจสอบค่าข้อมูลชนิดต่าง ๆ

print(bool("Python"))   # True
print(bool(123))        # True
print(bool(["Python", "Java", "Kotlin"]))   # True
print(bool(False))  # False
print(bool(None))   # False
print(bool(0))      # False
print(bool(""))     # False
print(bool(()))     # False
print(bool([]))     # False
print(bool({}))     # False

เราสามารถรีเทิร์นค่า True หรือ False จากฟังก์ชันได้ เช่น

def myFunction() :
  return True

print(myFunction())
def myFunction() :
  return True

if myFunction():
  print("Result is True")
else:
  print("Result is False")