Trong bài trước, Kteam đã giới thiệu cho 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
Nội dung chính Hiển thị
Ở bài viết này, Kteam sẽ giới thiệu với các bạn Kiểu diễn đạt BOOLEAN TRÊN 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
- Cài đặt sẵn MÔI TRƯỜNG PHÁT TRIỂN CỦA PYTHON
- Xem qua bài CÁCH CHUYỂN TRÌNH PYTHON
- Nắm CÁCH GHI CHÚ VÀ BIẾN TRONG PYTHON
- CÁC KỲ DIỄN BIỆT THAM KHẢO GIỚI THIỆU TRONG PYTHON
Trong bài viết 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 so sánh toán tử
- NOT, AND và OR
- Các giá trị cũng là các Boolean
- Cú pháp đường 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ệ.
This data type only has two value
- Một là Đúng – có nghĩa là đúng
- Nếu không thì là Sai – có nghĩa là sai
Bạn cũng đã thấy nó rồi khi sử dụng toán tử trong các bài kiểu dữ liệu chuỗi, danh sách,…
Boolean trong các so sánh toán tử
So sánh giữa các số với các số
So sánh giữa hai loại iterable cùng loại
When so sánh hai iterable cùng loại. Python sẽ lấy từng phần tử một lần trong iterable so sánh. Kteam will get ví dụ về kiểu chuỗi
>>> 'Kteam' == "Kteam"
True
>>> 'Free' == 'Education'
False
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 Bảng.
>>> ord['A']
65
>>> ord['a']
97
Khi bạn so sánh bằng các thuật toán == , >=, , >> 'a' > 'ABC'
# ord['a'] không bằng ord['A'], không cần phải so sánh tiếp và ord['a'] > ord['A'] là đúng => True
True
>>> 'aaa' < 'aaAcv'
# ord['a'] không bằng ord['A'] ở vị trí thứ 2, không cần phải so sánh tiếp và ord['a'] < ord['A'] là sai => False
False
>>> 'aaa' < 'aaaAcv'
# 3 phần tử đầu tiên bằng nhau. Ở phần tử thứ tư, ta sẽ so sánh 0 và ord['A'] và dĩ nhiên ord['A'] > 0 => True
True
Xem lại toán tử trong Danh sách 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. Toán tử is [Nhắc lại ở bài 12]
Ở đây, Kteam sẽ nói tới một phần kiến thức bằng tiếng Anh để bạn có thể dễ dàng 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à “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 trùm khe việc làm đúng sai trong ví dụ này, nó chỉ giúp bạn hiểu sự khác nhau giữa toán tử == và 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à [là]?
- Là [là] trong trường hợp này là liên kết từ diễn giải định nghĩa, tính chất của một sự việc/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ì Tèo là của Tèo, đâu phải của Tí. Nên nói “Chiều cao của Tèo là chiều cao của Tèo” hay “Chiêu cao của Tí là chiều cao của Tí”
Ta hãy quay lại với Python bằng cách khởi động hai Danh sách
>>> lst = [1, 2, 3]
>>> lst_ = [1, 2, 3]
Chúng đều có giá trị là một danh sách bao gồm ba phần tử 1, 2 và 3. Vì vậy, họ có bằng nhau? . att always as known
>>> lst == lst_
True
Nhưng lst có phải là lst_? . Vì đó là hai List khác nhau không liên quan đến nhau
>>> lst is lst_
False
Vì vậy nếu ta có một danh sách khác
>>> _lst = lst
>>> _lst
[1, 2, 3]
Thì _lst có phải là lst không? . Do đó, chúng là một, chỉ khác nhau cái nhãn thôi
>>> _lst is lst
True
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 học == 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 id hàm để so sánh.
Lưu ý toán tử là
You don't so sánh 2 số như thế này
________số 8Kết quả luôn là True. You will only see other other when
>>> a = 699
>>> b = 699
>>> a is b
False
Tuy nhiên, có một số trường hợp bạn cần biết
>>> ord['A']
65
>>> ord['a']
97
0Các số từ -5 đến 256 hoặc là một chuỗi số có ký tự số dưới 20 thì các biến có cùng một giá trị sẽ có cùng một giá trị được trả về từ hàm id
NOT, AND và OR
Not is overlay
Đây là cách bạn có thể thay đổi giá trị Boolean. Trong một số trường hợp đặc biệt. Việc kiểm tra giá trị Boolean đó là Sai hay là Đúng hơi phức tạp, lộn xộn trong khi đó việc kiểm tra giá trị đảo ngược thì dễ dàng, đơn giản hơn
And is and
Or is or
Bạn cần nằm lòng bảng sau để có thể kết hợp các điều kiện một cách xuyên suốt. Từ đó, bạn có thể sử dụng linh hoạt các câu lệnh điều kiện, đặt biểu thức cho các vòng lặp một cách hiệu quả
Bạn hãy xem bảng sau đây
Ví dụ . toknown better than. First first is and
>>> ord['A']
65
>>> ord['a']
97
1Continue to is or
>>> ord['A']
65
>>> ord['a']
97
2The end of the end is not
>>> ord['A']
65
>>> ord['a']
97
3Các giá trị cũng là các Boolean
Đúng vậy, các giá trị đều là các boolean. Đương nhiên, bạn có thể chuyển đổi các đối tượng thành Boolean bằng hàm bool .
Mọi giá trị khi chuyển về Boolean đều là True ngoại trừ một số trường hợp sau
- Số 0
- Không có
- Rỗng
Ví dụ. để hiểu rõ hơn
>>> ord['A']
65
>>> ord['a']
97
4Add a number of field True
>>> ord['A']
65
>>> ord['a']
97
51 là Đúng, 0 là Sai
Không quá quan trọng, nhưng cũng nên biết
>>> ord['A']
65
>>> ord['a']
97
6Cú pháp đường cho việc so sánh trong Python
If you ever learn a other language language setting. Bạn đôi lúc phải kiểm tra các trường hợp như kiểu tra một số n có trong khoảng [a; b], đoạn [a; . Đương nhiên, những lần làm như vậy cũng làm bạn hơi cực
>>> ord['A']
65
>>> ord['a']
97
7Nhưng với Python, bạn có thể làm thế này
>>> ord['A']
65
>>> ord['a']
97
8Vớ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 thường bạn phải viết khá dài
>>> ord['A']
65
>>> ord['a']
97
9Tuy nhiên, bạn cũng có thể
>>> 'a' > 'ABC'
# ord['a'] không bằng ord['A'], không cần phải so sánh tiếp và ord['a'] > ord['A'] là đúng => True
True
>>> 'aaa' < 'aaAcv'
# ord['a'] không bằng ord['A'] ở vị trí thứ 2, không cần phải so sánh tiếp và ord['a'] < ord['A'] là sai => False
False
>>> 'aaa' < 'aaaAcv'
# 3 phần tử đầu tiên bằng nhau. Ở phần tử thứ tư, ta sẽ so sánh 0 và ord['A'] và dĩ nhiên ord['A'] > 0 => True
True
0Kết luận
Bài viết này đã giới thiệu sơ lược cho các bạn KExpress BOOLESE TRÊN 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 đóng góp ý kiến của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử phép – Không sợ khó”
Thảo luận
Nếu bạn gặp bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng 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 to get the support from the community