Python cơ bản
Python hướng đối tượng
Python nâng cao
Quảng cáo

Kiểu dữ liệu bool trong Python

Trong bài học này chúng ta sẽ xem xét chi tiết cách sử dụng kiểu dữ liệu bool (Boolean) trong lập trình Python.

Đây là một kiểu dữ liệu đơn giản nhưng rất quan trọng để chuyển sang học về các cấu trúc điều khiển (if-elif-else, while, for) trong Python.

Kiểu bool trong Python

Kiểu bool (Boolean) trong Python là kiểu dữ liệu trong đó chỉ có hai giá trị TrueFalse. TrueFalse là hai từ khóa trong Python.

Ví dụ

>>> a = True
>>> type(a) # hàm cho biết kiểu của biến
<class 'bool'>

>>> b = False
>>> type(b)
<class 'bool'>

Nếu bạn đã học một ngôn ngữ trong họ C cần lưu ý giá trị là True/False (T và F phải viết hoa). Viết true/false là sai và sẽ bị báo lỗi như sau:

Ví dụ

>>> a = true # Python sẽ hiểu true là một biến (vốn chưa tồn tại)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
NameError: name 'true' is not defined

Kiểu bool là kiểu kết quả trả về của các phép so sánh trên số và chuỗi mà bạn đã học trong các bài trước:

Ví dụ

>>> a = 10; b = 5
>>> a > b
True
>>> a <= b
False
>>> a != b
True
>>> a == b
False
>>> 0 < b < a < 11 # Python cho phép viết như thế này
True

>>> a = 'Hello'; b = 'Python'
>>> a != b
True
>>> a > b
False
>>> a < b
True
>>> a == b
False
>>> 

Một số phương thức của str cũng trả về giá trị bool:

Ví dụ

>>> my_string = "Hello World"

>>> my_string.isalnum()		#kiểm tra xem chuỗi có chứa toàn chữ số
False
>>> my_string.isalpha()		# chuỗi chứa toàn chữ cái
False
>>> my_string.isdigit()		# chuỗi có chứa chứ số
False
>>> my_string.isupper()		# chuỗi chứa toàn ký tự hoa
False
>>> my_string.islower()		# chuỗi chứa toàn kỹ tự thường
False
>>> my_string.isspace()		# chuỗi chỉ chứa khoảng tráng
False
>>> my_string.endswith('d')		# kết thúc là d
True
>>> my_string.startswith('H')	# bắt đầu là H
True

Chuyển đổi kiểu dữ liệu về bool

Python cho phép chuyển đổi giữa các kiểu dữ liệu khác và bool qua hàm bool() theo quy tắc sau:

  • Giá trị kiểu số (số nguyên, số thực, số phức) thành giá trị True nếu số đó khác 0, và False nếu số đó bằng 0.
  • Giá trị kiểu chuỗi thành giá trị False nếu đó là chuỗi rỗng (không có ký tự nào ”), và True nếu chuỗi có dù chỉ 1 ký tự.

Ví dụ

>>> zero_int = 0
>>> bool(zero_int)
False

>>> pos_int = 1
>>> bool(pos_int)
True

>>> neg_flt = -5.1
>>> bool(neg_flt)
True

>>> ans = 'true'
>>> bool(ans)
True

>>> ans = 'hello'
>>> bool(ans)
True

>>> ans = '' # chuỗi rỗng (không có ký tự nào)
>>> bool(ans)
False

>>> ans = ' ' # chuỗi này chứa 1 dấu cách
>>> bool(ans)
True

Ghi chú: Python cũng có thể chuyển đổi giá trị của các kiểu khác về bool. Ví dụ danh sách rỗng -> False, danh sách có phần tử -> True. Chúng ta sẽ học về các kiểu dữ liệu này sau.

Các phép toán trên kiểu bool

Các phép toán trên kiểu bool, còn được gọi là số học Boolean, là các phép toán logic chỉ trả về kết quả True hoặc False. Các phép toán thông dụng nhất bao gồm and, or, not, ==!=.

Ví dụ

>>> A = True
>>> B = False

>>> A or B
True

>>> A and B
False

>>> not A
False

>>> not B
True

>>> A == B
False

>>> A != B
True
A B not A not B A == B A =! B A or B A and B
T F F T F T T F
F T T F F T T F
T T F F T F T T
F F T T T F F
Bảng chân trị của các phép toán logic Boolean

Bạn có thể ghép các phép toán trên để tạo thành biểu thức phức tạp hơn như sau:

Ví dụ

>>> A = True
>>> B = False
>>> C = False

>>> A or (C and B)
True

>>> (A and B) or C
False

Kết luận

Trong bài học này chúng ta đã xem xét chí tiết cách sử dụng kiểu dữ liệu bool trong Python. Đây là một kiểu dữ liệu đơn giản nhưng rất quan trọng để chuyển sang học về các cấu trúc điều khiển (if-elif-else, while, for) trong Python.

Bài viết này đã giúp ích cho bạn?

Advertisements