ข้อมูลประเภท บูลีน (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 และได้ใช้กันอย่างแพร่หลายในการสร้างเงื่อนไข และการควบคุมการทำ