Kiểu dữ liệu Boolean trong Python

Lập trình Python cơ bản

5.0 (9 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 3 năm trước 83.046 lượt xem 24 bình luận
Tác giả/Dịch giả: Kteam Nông Thanh Toàn
Học nhanh

Danh sách bài học

01. Giới thiệu ngôn ngữ lập trình Python 02. Cài đặt môi trường Python 03. Cách chạy chương trình Python 04. Cách ghi chú trong Python 05. Biến trong Python 06. Kiểu dữ liệu số trong Python 07. Kiểu dữ liệu chuỗi trong Python - Phần 1 08. Kiểu dữ liệu chuỗi trong Python - Phần 2 09. Kiểu dữ liệu chuỗi trong Python - Phần 3 10. Kiểu dữ liệu chuỗi trong Python - Phần 4 11. Kiểu dữ liệu chuỗi trong Python - Phần 5 12. Kiểu dữ liệu List trong Python - Phần 1 13. Kiểu dữ liệu List trong Python - Phần 2 14. Kiểu dữ liệu Tuple trong Python 15. Sự khác nhau về toán tử của Hashable object và Unhashable object trong Python 16. Kiểu dữ liệu Set trong Python 16. Kiểu dữ liệu Set trong Python – Phần 2 17. Kiểu dữ liệu Dict trong Python - Phần 1 18. Kiểu dữ liệu Dict trong Python - Phần 2 19. Xử lý file trong Python 20. Iteration và một số hàm hỗ trợ cho iteration object trong Python 21. Nhập xuất trong Python - Hàm xuất 22. Nhập xuất trong Python - Hàm nhập 23. Kiểu dữ liệu Boolean trong Python 24. Cấu trúc rẽ nhánh trong Python 25. Vòng lặp While trong Python 26. Vòng lặp For trong Python - Phần 1 27. Vòng lặp For trong Python - Phần 2 28. Kiểu dữ liệu Function trong Python - Sơ lược về hàm 29. Kiểu dữ liệu Function trong Python - Positional và keyword argument 30. Kiểu dữ liệu Function trong Python - Packing và unpacking arguments 31. Kiểu dữ liệu Function trong Python - Biến locals và globals 32. Kiểu dữ liệu Function trong Python - Return 33. Kiểu dữ liệu function trong Python – Yield 34. Kiểu dữ liệu function trong Python – Lambda 35. Kiểu dữ liệu Function trong Python - Functional tools 36. Kiểu dữ liệu Function trong Python - Đệ quy (recursion) 37. Giới thiệu module trong Python 38. Package trong python

Kiểu dữ liệu Boolean trong Python

Dẫn nhập

Trong bài trước, Kteam đã giới thiệu đến bạn HÀM INPUT - một hàm giúp bạn yêu cầu nhập dữ liệu từ bàn phím

Ở bài này Kteam sẽ giới thiệu với các bạn KIỂU DỮ LIỆU BOOLEAN TRONG PYTHON. Một kiểu dữ liệu cực kì cần thiết trong các phần sử dụng cấu trúc rẽ nhánh, vòng lặp.


Nội dung

Để đọc hiểu bài này tốt nhất bạn cần:

Trong bài này, chúng ta sẽ cùng tìm hiểu những nội dung sau đây

  • Giới thiệu về Boolean trong Python
  • Boolean trong các toán tử so sánh
  • NOT, AND và OR
  • Các giá trị cũng là các Boolean
  • Syntaxnic sugar cho việc so sánh trong Python

Giới thiệu về Boolean trong Python

Boolean là một kiểu dữ liệu mà các ngôn ngữ lập trình ngày này đều thường xuyên sử dụng. Python cũng không ngoại lệ.

Kiểu dữ liệu này chỉ có hai giá trị:

  • Một là True – có nghĩa là đúng
  • Nếu không thì là False – có nghĩa là sai.

Bạn cũng đã thấy nó rồi khi sử dụng toán tử in trong các bài kiểu dữ liệu chuỗi, list,…


Boolean trong các toán tử so sánh

So sánh giữa số với số


So sánh giữa hai iterable cùng loại

Khi so sánh hai iterable cùng loại. Python sẽ lấy lần lượt từng phần tử trong iterable ra so sánh. Kteam sẽ lấy ví dụ về kiểu chuỗi:

Lưu ý: Python so sánh các kí tự với nhau bằng cách đưa chúng về dưới dạng số bằng hàm ord. Bạn có thể tham khảo giá trị của nó trong ASCII Table.

Khi bạn so sánh bằng các toán tử ==, >=, <= thì Python sẽ so sánh hết các phần tử.

Còn nếu bạn dùng các toán tử như >, <, != thì nhiều lúc Python sẽ không cần phải đi hết các giá trị iterable. Nếu như ở vị trí i nào đó mà đã hai giá trị không bằng nhau thì nó sẽ dừng lại.


Toán tử is (Nhắc lại ở bài 12)

Xem lại toán tử is trong List tại đây

Đây là một toán tử dễ nhầm lần với toán tử ==. Nhưng thật sự thì nó rất đơn giản!

Ở đây, Kteam sẽ nói tới một phần kiến thức ở tiếng Anh để bạn có thể dễ phân biệt 2 toán tử trên. Từ is trong tiếng Việt (ở ngữ cảnh này – ngôn ngữ lập trình Python) có nghĩa là “”. Còn toán tử == có nghĩa là bằng.

Kteam sẽ đưa ra một ví dụ. Bạn cũng không nên khắt khe việc đúng sai trong ví dụ này, nó chỉ giúp bạn hiểu sự khác nhau giữa toán tử == is thôi.

Thế nào là bằng (==)?

  • Bằng là toán tử so sánh khi nói về mặt giá trị.
  • Ví dụ: Chiều cao của Tèo bằng chiều cao của Tí

Thế nào là (is)?

  • (is) trong trường hợp này là liên từ diễn giải định nghĩa, tính chất của một sự vật/sự việc/con người.
  • Ví dụ: Ta không thể nói “Chiều cao của Tèo là chiều cao của Tí” vì của Tèo là của Tèo, đâu phải của Tí. Nên nói là “Chiều cao của Tèo là chiều cao của Tèo” hoặc “Chiều cao của Tí là chiều cao của Tí”

Ta hãy trở lại với Python bằng việc khởi tạo hai List

Chúng đều có giá trị là một List gồm ba phần tử 1, 2 và 3. Vậy chúng có bằng nhau? Đương nhiên là . Thử luôn là biết.

Nhưng lst có phải là lst_? Đương nhiên là không. Vì đó là hai List khác nhau không liên quan đến nhau.

Vậy nếu ta có một List khác

Thì _lst có phải là lst không? Nếu bạn còn nhớ một số điều lưu ý khi sử dụng List trong bài KIỂU DỮ LIỆU LIST TRONG PYTHON – PHẦN 1 thì chắc chắn là bạn còn nhớ, 2 List này đang trỏ chung vào một địa chỉ. Do đó, chúng là một, chỉ khác nhau cái nhãn thôi.

Từ đây, ta có thể suy ra một kết luận. Khi so sánh hai giá trị (đối tượng) bằng toán tử == thì Python sẽ so sánh bằng giá trị của chúng. Còn nếu so sánh bằng toán tử is thì Python sẽ lấy giá trị của hàm id để so sánh.


Lưu ý toán tử is

Bạn không nên so sánh 2 số như thế này

Kết quả luôn là True. Bạn sẽ chỉ thấy khác biệt khi:

Nhưng, có một số trường hợp bạn cần biết:

Các số từ -5 đến 256 hoặc là một số chuỗi có số kí tự dưới 20 thì các biến có cùng một giá trị sẽ có cùng một giá trị trả về từ hàm id.


NOT, AND và OR

Not phủ định.

Đây là cách bạn có thể đổi giá trị Boolean. Trong một số trường hợp đặc biệt. Việc kiểm tra giá trị Boolean đó là False hay là True hơi phức tạp, rườm ra trong khi đó việc kiểm tra giá trị ngược lại thì dễ dàng, đơn giản hơn.

Kiểu dữ liệu Boolean trong Python

And .

Or hoặc.

Bạn cần nằm lòng bảng sau để có thể kết hợp những điều kiện một cách nhuần nhuyễn. Từ đó, bạn có thể sử dụng linh hoạt các câu lệnh điều kiện, đặt expression cho các vòng lặp một cách hiệu quả.

Bạn hãy xem bảng sau đây:

Kiểu dữ liệu Boolean trong Python

Ví dụ: để rõ hơn nhé. Đầu tiên là and

Tiếp đến là or

Cuối cùng là not


Các giá trị cũng là các Boolean

Thật vậy, các giá trị đều là các boolean. Và đương nhiên, bạn có thể chuyển đối chúng thành các Boolean bằng hàm bool.

Mọi giá trị khi chuyển về Boolean đều là True trừ một số trường hợp sau

  • Số 0
  • None
  • Rỗng

Ví dụ: để hiểu hơn

Thêm một số trường hợp True


1 là True, 0 là False

Không quá quan trọng, nhưng cũng nên biết

Syntaxnic sugar cho việc so sánh trong Python

Nếu bạn từng học một số ngôn ngữ lập trình khác. Bạn đôi lúc phải kiểm tra những trường hợp như kiểu tra một số n có nằm trong khoảng (a; b), đoạn [a; b], nửa khoảng (a; b], nửa khoảng [a; b) hay không? hoặc là kiểm tra xem một số k có bằng một trong những số như x, y hoặc z hay không. Đương nhiên, những lần làm như vậy cũng làm bạn hơi cực

Nhưng với Python, bạn có thể làm thế này.

Với trường hợp nếu bạn muốn kiểm tra xem một số k có bằng x hoặc y hoặc là z hay không thì thường bạn phải viết khá dài.

Tuy nhiên, bạn cũng có thể


Kết luận

Bài viết này đã giới thiệu sơ cho các bạn KIỂU DỮ LIỆU BOOLEAN TRONG PYTHON.

Ở bài sau, Kteam sẽ giới thiệu đến bạn CẤU TRÚC RẼ NHÁNH TRONG PYTHON.

Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Kiểu dữ liệu Boolean trong Python dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Lập trình Python cơ bản

Lập trình Python cơ bản

Đánh giá

5.0
9 đánh giá
Đánh giá
5
9
4
3
2
1
hieunxhe191630 đã đánh giá 7 tháng trước

linhhng đã đánh giá 3 năm trước

phungduongd đã đánh giá 3 năm trước

Nguyễn Tuấn Anh đã đánh giá 3 năm trước

nhocsa11 đã đánh giá 4 năm trước

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
minhtuan1709 đã bình luận 6 năm trước

c = 256

d = 256

print( 'c' is 'd' )

Tại sao em không ra True như trong video mà lại ra False ???

magijaja đã bình luận 7 năm trước

a = 699

b = 699

print(a is b)

Cho m hỏi sao m làm lại ra true?

ngocduy đã bình luận 7 năm trước

hay quá

51201055 đã bình luận 7 năm trước

hay quá. cám ơn Howkteam rất nhiều

Không có video.