Hàm bool là một hàm trong các Built-in Functions của ngôn ngữ lập trình Python được sử dụng để chuyển đổi một giá trị hoặc một đối tượng thành kiểu dữ liệu boolean (bool), có thể là True hoặc False.
Trong Python, kiểu dữ liệu boolean (kiểu bool) là một kiểu dữ liệu đặc biệt chỉ có hai giá trị: True
(đúng) và False
(sai). Kiểu dữ liệu boolean thường được sử dụng để biểu thị trạng thái logic, quyết định và điều kiện trong các công việc so sánh và điều khiển luồng dữ liệu trong chương trình.
True
: Biểu thị một trạng thái đúng, hoặc một điều kiện đúng.False
: Biểu thị một trạng thái sai, hoặc một điều kiện sai.
Các toán tử so sánh (ví dụ: ==
, >
, <
, >=
, <=
) và các câu lệnh điều kiện (ví dụ: if
, elif
, else
) thường trả về giá trị boolean sau khi so sánh hai giá trị.
1. Cú pháp hàm bool
Cú pháp:
bool(x)
Tham số:
x
: Đây là giá trị hoặc đối tượng mà bạn muốn chuyển đổi thành kiểu dữ liệu boolean. Điều này bao gồm một loạt các giá trị và đối tượng, chẳng hạn: số nguyên, số thực, chuỗi, danh sách, từ điển, v.v.
Trả về:
- Hàm
bool
trả về một giá trị boolean, có thể làTrue
hoặcFalse
tương ứng với giá trị đầu vào.
Phiên bản:
- Hàm
bool
được hỗ trợ từ Python 1.5.2 trở đi và vẫn được hỗ trợ trong Python 3.x, bao gồm các phiên bản Python 3.x (3.0, 3.1, 3.2, và các phiên bản sau này).
2. Một số ví dụ hàm bool
Dưới đây là một số ví dụ giúp cho ta có thể hiểu được nguyên tắc hoạt động của đặc điểm của hàm bool trong ngôn ngữ lập trình Python:
2.1. Sử dụng bool với số nguyên
num = 10
bool_result = bool(num)
print(bool_result) # Output: True
Giải thích:
num
có giá trị là 10, một số nguyên khác 0, nên hàmbool
trả vềTrue
.
2.2. Sử dụng bool với số thực
float_num = 0.0
bool_result = bool(float_num)
print(bool_result) # Output: False
Giải thích:
float_num
có giá trị là 0.0, một số thực bằng 0, nên hàmbool
trả vềFalse
.
2.3. Sử dụng bool với chuỗi với hàm bool
string_value = "Python"
bool_result = bool(string_value)
print(bool_result) # Output: True
Giải thích:
string_value
không rỗng, nên hàmbool
trả vềTrue
.
2.4. Sử dụng bool với danh sách
empty_list = []
non_empty_list = [1, 2, 3]
bool_result1 = bool(empty_list)
bool_result2 = bool(non_empty_list)
print(bool_result1) # Output: False
print(bool_result2) # Output: True
Giải thích:
empty_list
là danh sách rỗng, nên hàmbool
trả vềFalse
.non_empty_list
không rỗng, nên hàmbool
trả vềTrue
.
2.5. Sử dụng bool với đối tượng tự định nghĩa
class CustomObject:
def __init__(self, value):
self.value = value
def __bool__(self):
return self.value > 0
# Tạo đối tượng và gọi hàm bool
obj1 = CustomObject(5)
obj2 = CustomObject(0)
bool_result1 = bool(obj1)
bool_result2 = bool(obj2)
print(bool_result1) # Output: True
print(bool_result2) # Output: False
Giải thích:
CustomObject
là một lớp tự định nghĩa.- Trong lớp này, chúng ta định nghĩa một hàm
__bool__
để kiểm tra giá trị và trả vềTrue
nếu giá trị lớn hơn 0. obj1
có giá trị lớn hơn 0, nên hàmbool
trả vềTrue
.obj2
có giá trị bằng 0, nên hàmbool
trả vềFalse
.