Reportar esta app

Description

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 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.

python

Kiểu bool trong Python.

Kiểu bool ( Boolean) trong Python là kiểu dữ liệu trong đó chỉ có hai giá trị True/ False


1
2
3
4
5
6
7
>>> 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). Nếu viết thường sẽ xuất hiện lỗi như sau:


1
2
3
4
>>> 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:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
>>> a = 10; b = 5
>>> a > b
True
>>> a <= b
False
>>> a != b
True
>>> a == b
False
>>> < 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:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>> 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ự.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
>>> zero_int =
>>> 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

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.

Tham khảo thêm ngay  Iterator và Iterable trong Python

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

Các kiểu 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à !=


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>>> A = True
>>> B = False

>>> A or B
True

>>> A and B
False

>>> not A
False

>>> not B
True

>>> A == B
False

>>> A != B
True
ABnot Anot BA==BA=!BA or BA and B
TFFTFTTF
FTTFFTTF
TTFFTFTT
FFTTTFF

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:


1
2
3
4
5
6
7
8
9
>>> A = True
>>> B = False
>>> C = False

>>> A or (C and B)
True

>>> (A and B) or C
False

Leave a Reply

Your email address will not be published. Required fields are marked *