Kiểu Logic Boolean Trong Python - O₂ Education
Có thể bạn quan tâm
Kiểu logic trong Python kí hiệu là bool và gồm có hai giá trị là True hoặc False.
Trong bài viết Câu lệnh điều kiện if trong Python, bạn đã sử dụng kiểu logic bool trong Python. Trong biểu thức <điều kiện> của câu lệnh rẽ nhánh if, kết quả của biểu thức đó là một trong hai giá trị True hoặc False. Bài viết này, chúng ta sẽ tìm hiểu sâu hơn về kiểu Boolean trong Python.
1. Giới thiệu về kiểu logic bool trong Python
- Khi thực hiện các phép toán so sánh hoặc các phép toán (toán tử) logic, kết quả trả về chỉ có thể là đúng True hoặc sai False. Khi đó, ta sử dụng kiểu bool để biểu diễn các giá trị đúng và sau này. Để biểu diễn giá trị đúng, ta dùng từ khóa True, để biểu diễn giá trị sai ta dùng từ khóa False. Chúng được gọi là các giá trị logic trong Python.
- True và False cũng giống như các số nguyên 0 và 1. Tuy nhiên, nếu ta ép kiểu từ số nguyên hoặc các kiểu dữ liệu khác sang kiểu bool thì mọi giá trị khác 0 hoặc khác rỗng đều tương ứng với True. Hãy xem ví dụ sau.
2. Các phép toán trên kiểu Boolean trong Python
2.1. Các toán tử so sánh
Kết quả trả về của các toán tử so sánh là kiểu boolean, tức là đúng True hoặc sai False. Python có các toán tử so sánh bằng nhau ==, khác nhau !=, lớn hơn >, nhỏ hơn <, lớn hơn hoặc bằng >=, nhỏ hơn hoặc bằng <=.
>>> a = 1 >>> b = 5 >>> c = 'abc' >>> d = 'aBc' >>> a == b False >>> a >= b False >>> c < d False >>> c != d TrueLưu ý rằng các toán tử so sánh này phải sử dụng với hai toán hạng có cùng kiểu, trong ví dụ trên nếu ta cố tình so sánh a và c thì Python sẽ báo lỗi:
>>> a < c Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: '<' not supported between instances of 'int' and 'str'2.2. Các toán tử logic Boolean trong Python
- Phép toán and sẽ trả về kết quả True nếu cả hai toán hạng đều là True.
- Phép toán or sẽ trả về kết quả True nếu một trong hai toán hạng là True.
- Phép toán not được sử dụng để đảo ngược giá trị chân lý của một biểu thức.
Bảng giả trị chân lý của các phép toán như sau:
2.3. Toán tử in
Toán tử in được sử dụng để kiểm tra xem một giá trị/phần tử có tồn tại trong một tập hợp/chuỗi/danh sách… hay không, kết quả trả về là kiểu Boolean.
>>> A = [1,2,'3','o2'] >>> 1 in A True >>> '1' in A False >>> 3 in A False >>> '3' in A TrueĐối với các số nguyên, có thể kết hợp với hàm range() để kiểm tra xem một số có nằm trong khoảng, đoạn nào không.
>>> 3 in range(1,10) True >>> 9 in range(1,10) True >>> 10 in range(1,10) False >>> 0 in range(1,10) False >>> 1 in range(1,10) True2.4. Toán tử is
Toán tử is dùng để kiểm tra kiểu của một đối tượng trong Python, nó cũng dùng để kiểm tra xem hai toán hạng có cùng tham chiếu đến một đối tượng hay không.
>>> x=5 >>> x is int False >>> type(x) is int True >>> type(x) is float False >>> y = 5. >>> type(y) is float TrueBạn cần lưu ý, toán tử is có nghĩa là, nó khác với toán tử ==, nghĩa bằng nhau (về mặt giá trị). Để hiểu rõ hơn về sự khác nhau giữa hai toán tử này, chúng ta xem xét ví dụ sau đây.
Đầu tiên, chúng ta sẽ tạo một danh sách mới và đặt tên cho nó a, sau đó xác định một biến khác btrỏ đến cùng một đối tượng danh sách:
>>> a = [ 1 , 2 , 3 ] >>> b = aHãy kiểm tra giá trị của hai biến này. Bạn có thể thấy là hai danh sách giống hệt nhau:
>>> a [ 1 , 2 , 3 ] >>> b [ 1 , 2 , 3 ]Bởi vì hai danh sách trông giống nhau, nên so sánh chúng sử dụng toán tử == thì kết quả trả về là True:
>>> a == b TrueTuy nhiên, điều đó không cho chúng ta biết rằng avà bđang thực sự trỏ đến cùng một đối tượng (dù sự thực chúng là một vì cách chúng ta định nghĩa biến b)
Để kiểm tra chúng có là một (tức cùng trỏ đến một địa chỉ ô nhớ), ta cần sử dụng toán tử is
>>> a is b TrueChúng ta hãy xem điều gì xảy ra khi chúng ta tạo một danh sách c giống hệt danh sách a:
>>> c = list(a)hoặc sử dụng câu lệnh sau cũng được
>>> c = [ 1 , 2 , 3 ]Một lần nữa bạn sẽ thấy rằng danh sách mới mà chúng ta vừa tạo trông giống hệt với đối tượng danh sách được tham chiếu tới bởi tên biến avà b:
>>> c [ 1 , 2 , 3 ]Bây giờ đây là lúc chuyện thú vị xảy ra, hãy cùng so sánh cvới abằng cách sử dụng toán tử == và toán tử is
>>> a == c True >>> a is c FalseĐiều gì đã xảy ra? Thực sự là cvà a đang chỉ vào hai đối tượng khác nhau, mặc dù nội dung của chúng có thể giống nhau, còn a và b thì chỉ vào cùng một đối tượng. Để kiểm tra điều này, bạn có thể dùng hàm id(), lưu ý rằng địa chỉ ô nhớ này ở trên máy tính của bạn có thể khách với của tôi.
>>> id(a) 2337468908672 >>> id(b) 2337468908672 >>> id(c) 2337469229184Bạn có thể xem thêm ví dụ về sự khác nhau giữa hai toán tử is và == tại đây https://www.geeksforgeeks.org/difference-operator-python/
2.5. Hàm bool()
Hàm bool() trả về kết quả False nếu đối số là số 0, None hoặc xâu rỗng, danh sách rỗng… Các trường hợp khác, kết quả trả về đều là True.
>>> bool(0) False >>> bool(None) False >>> bool('') False >>> bool([]) False >>> bool(()) False >>> bool(set()) False >>> bool({}) False >>> bool(1) True >>> bool('abc') True >>> bool([1, 2, 3]) TrueTrong các phép toán đối với số nguyên, True tương đương với số 1, False tương đương với số 0.
>>> True + 1 2 >>> False + 1 1 >>> int(True) 1 >>> int(False) 0Từ khóa » Hàm Or Trong Python
-
Toán Tử Logic Trong Python Và Giá Trị True False
-
Kiểu Dữ Liệu Boolean Và Các Toán Tử AND OR NOT Trong Python
-
Các Toán Tử Cơ Bản Trong Python
-
Python Tương đương Với && (logic-và) Trong Câu Lệnh If? - HelpEx
-
Chi Tiết Bài Học 9.Toán Tử Trong Python - Vimentor
-
..and..or.. | Python Cho Người Việt
-
Toán Tử Trong Python - Học Lập Trình Python - Viettuts
-
Toán Tử Trong Python - Viblo
-
Bài 11: Operators - Toán Tử Trong Lập Trình Python - Môi Trường
-
Python: Các Phép Toán Cơ Bản | V1Study
-
Toán Tử Trong Python
-
Python Logical Operator - Toán Tử Logic Trong Python
-
Bài 3. Các Phép Toán Trong Python - O₂ Education
-
Toán Tử Python - Tech Wiki