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