ข้อมูลประเภท บูลีน (Boolean) ในภาษา Python

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

a = 10
b = 20
c = (a > b)
print(c)  # output: False

ในตัวอย่างนี้ ได้กำหนดตัวแปร a ให้มีค่าเป็น 10 และตัวแปร b ให้มีค่าเป็น 20 จากนั้นใช้ตัวดำเนินการ > เพื่อเปรียบเทียบว่า a มากกว่า b หรือไม่ โดยเปรียบเทียบได้ว่า False เนื่องจาก a ไม่ได้มากกว่า b จากนั้นกำหนดค่าของตัวแปร c ให้เท่ากับผลลัพธ์จากการเปรียบเทียบ ซึ่งในที่นี้จะเป็น False และพิมพ์ค่าของตัวแปร c ออกทางหน้าจอ จะได้ผลลัพธ์เป็น False

ตัวแปรที่มีค่าเป็น True จะมีค่าเป็น 1 และตัวแปรที่มีค่าเป็น False จะมีค่าเป็น 0 หรือ None ซึ่งเป็นการอ้างอิงไปยัง object ว่าง ๆ หรือไม่มีค่า (null object) ในภาษา Python ดังนั้นเมื่อใช้คำสั่ง bool() แปลงค่าจากตัวแปรอื่น เช่น bool(0) จะได้ค่า False และ bool(1) จะได้ค่า True โดย default จะมีค่า False

ตัวแปรบูลีน (Boolean) ในภาษา Python เป็นตัวแปรที่เก็บค่าได้เพียงสองค่าเท่านั้น คือ True (จริง) และ False (เท็จ) โดยใช้ในการตัดสินใจเงื่อนไขในการทำงานของโปรแกรม หรือการเก็บข้อมูลที่มีค่าเป็นความจริง (True) หรือเท็จ (False) ดังนั้นการใช้ตัวแปรบูลีนจะช่วยให้โปรแกรมมีความยืดหยุ่นและมีประสิทธิภาพในการทำงานได้มากขึ้น โดยบางครั้งในการใช้งานจะใช้ True เป็น 1 และ False เป็น 0 และสามารถนำมาดำเนินการทางตรรกะได้ เช่น การใช้งานในการตัดสินใจและการควบคุมการทำงานของโปรแกรมด้วยเงื่อนไข หรือการใช้งานในการค้นหาข้อมูลที่มีค่าเป็นจริง (True) หรือเท็จ (False) ในตัวแปรอื่น ๆ ที่ใช้อยู่ในโปรแกรมนั้น ๆ ด้วยโดยการเปรียบเทียบ (compare) ค่าของตัวแปรที่ต้องการค้นหากับค่าของตัวแปรบูลีน (True/False) ด้วยตัวดำเนินการเปรียบเทียบ (comparison operators) ต่าง ๆ เช่น ==, >, <, >=, <= ซึ่งจะส่งคืนค่าเป็น True หรือ False ตามผลลัพธ์ของการเปรียบเทียบดังกล่าว

ตัวอย่างเพื่อให้เข้าใจโครงสร้างของ Boolean ใน Python

x = True
y = False
print(x)  # จะแสดงผล True
print(y)  # จะแสดงผล False

ในการใช้งาน Boolean สามารถนำมาเป็นเงื่อนไขในการควบคุมการทำงานของโปรแกรมได้ เช่น

age = 18
is_adult = age >= 18
if is_adult:
    print("คุณเป็นผู้ใหญ่")
else:
    print("คุณเป็นเด็ก")

โปรแกรมนี้จะตรวจสอบว่า age มากกว่าหรือเท่ากับ 18 หรือไม่ แล้วนำผลลัพธ์ที่ได้ไปเก็บในตัวแปร is_adult โดยถ้า age มากกว่าหรือเท่ากับ 18 ก็จะเก็บค่า True ใน is_adult แต่ถ้า age น้อยกว่า 18 ก็จะเก็บค่า False ใน is_adult จากนั้นนำ is_adult มาเป็นเงื่อนไขในคำสั่ง if ถ้า is_adult เป็น True ก็จะแสดงข้อความว่า “คุณเป็นผู้ใหญ่” แต่ถ้า is_adult เป็น False ก็จะแสดงข้อความว่า “คุณเป็นเด็ก”

ตัวอย่างการใช้งาน Boolean ในภาษา Python:

x = 5
y = 10

# เปรียบเทียบว่า x มีค่าน้อยกว่า y หรือไม่
result = x < y
print(result)  # จะแสดงผลลัพธ์เป็น True

# เปรียบเทียบว่า x มีค่ามากกว่า y หรือไม่
result = x > y
print(result)  # จะแสดงผลลัพธ์เป็น False

# ใช้ not เพื่อกลับค่าของตัวแปร Boolean
result = not (x < y)
print(result)  # จะแสดงผลลัพธ์เป็น False

ในตัวอย่างนี้ เราใช้ตัวแปร x และ y เพื่อเปรียบเทียบค่าของเขาด้วยตัวเปรียบเทียบน้อยกว่า (<) และมากกว่า (>) ตามลำดับ ผลลัพธ์ที่ได้จะเป็น Boolean (True หรือ False) ซึ่งเราจึงจัดเก็บผลลัพธ์ไว้ในตัวแปร result และแสดงผลลัพธ์ออกทางหน้าจอด้วยฟังก์ชัน print() ต่อไป เราใช้ not เพื่อกลับค่าของตัวแปร Boolean 

นอกจากการใช้งาน Boolean ในเงื่อนไข if-else แล้ว ยังสามารถใช้งาน Boolean ได้ในหลายๆ รูปแบบต่างๆ ดังนี้

1. การใช้งาน Boolean ในการตัดสินใจเลือกข้อมูล

เราสามารถใช้ค่า Boolean ในการเลือกข้อมูลจาก list หรือ dictionary ได้ โดยการใช้เงื่อนไขเป็นดัชนี (index) ของข้อมูลที่ต้องการ

ตัวอย่างเช่น หากเรามี list ของตัวเลขและต้องการเลือกเฉพาะตัวเลขที่มากกว่าหรือเท่ากับ 5 โดยใช้ค่า Boolean สามารถเขียนได้ดังนี้

numbers = [3, 4, 5, 6, 7, 8, 9]
selected_numbers = [num for num in numbers if num >= 5]
print(selected_numbers)

Output:

[5, 6, 7, 8, 9]

2. การใช้งาน Boolean ในการค้นหาข้อมูล

เราสามารถใช้ค่า Boolean ในการค้นหาข้อมูลจาก list หรือ dictionary ได้ โดยการใช้เงื่อนไขเป็นเงื่อนไขค้นหา

ตัวอย่างเช่น หากเรามี list ของชื่อผู้ใช้และต้องการค้นหาชื่อผู้ใช้ที่มีคำว่า “admin” สามารถเขียนได้ดังนี้

usernames = ['john', 'mary', 'admin', 'peter', 'admin01']
search_keyword = 'admin'
matching_usernames = [username for username in usernames if search_keyword in username]
print(matching_usernames)

Output:

['admin', 'admin01']

3. การใช้งาน Boolean ในการคำนวณ

เราสามารถใช้ค่า Boolean ในการคำนวณได้ โดยการแปลงค่า Boolean ให้เป็นตัวเลข ซึ่ง True จะมีค่าเป็น 1 และ False จะมีค่าเป็น 0 สามารถใช้ตัวดำเนินการเปรียบเทียบข้อมูล (comparison operators) เพื่อคำนวณและสร้าง Boolean ได้ เช่น >, <, ==, !=, >=, และ <= ซึ่งจะคืนค่าเป็น Boolean ที่บอกว่าข้อความหรือตัวเลขต่างๆ มีความเท่าเทียมหรือมากกว่าหรือน้อยกว่าที่กำหนดหรือไม่

นอกจากนี้ยังมีตัวดำเนินการ Boolean (logical operators) เช่น and, or, และ not ซึ่งใช้ในการเชื่อมข้อมูล Boolean เข้าด้วยกันเพื่อสร้างเงื่อนไขหรือเงื่อนไขซับซ้อน ๆ ดังตัวอย่างต่อไปนี้

x = 5
y = 10
z = 15

# ตัวเปรียบเทียบ
print(x < y)    # จะคืนค่า True เนื่องจาก 5 น้อยกว่า 10
print(x == y)   # จะคืนค่า False เนื่องจาก 5 ไม่เท่ากับ 10

# ตัวดำเนินการ Boolean
print(x < y and y < z)  # จะคืนค่า True เนื่องจากทั้งสองเงื่อนไขเป็นจริง
print(x < y and y > z)  # จะคืนค่า False เนื่องจากเงื่อนไขแรกเป็นจริง แต่เงื่อนไขที่สองเป็นเท็จ
print(x < y or y > z)   # จะคืนค่า True เนื่องจากมีอย่างน้อยหนึ่งเงื่อนไขเป็นจริง
print(not(x < y))       # จะคืนค่า False เนื่องจาก x < y เป็นจริง แต่ not จะกลับด้านของ Boolean นั้น

การใช้งาน Boolean ในการคำนวณเป็นส่วนสำคัญของภาษา Python และได้ใช้กันอย่างแพร่หลายในการสร้างเงื่อนไข และการควบคุมการทำ