Hướng dẫn cách sử dụng toán tử so sánh trong python. Bạn sẽ học được các phép so sánh trong python được biểu diễn thông qua các toán tử so sánh trong python và ứng dụng chúng để so sánh chuỗi python, so sánh 2 list trong python cũng như là so sánh các kiểu dữ liệu khác trong python sau bài học này. Show
Bảng toán tử so sánh trong pythonĐể thực hiện các phép so sánh trong python, chúng ta sử dụng các toán tử so sánh trong python được liệt kê trong bảng dưới đây: Toán tửBiểu thức điều kiệnÝ nghĩa==x == yx và y bằng nhau!=x != yx và y không bằng nhau>x > yx lớn hơn y<x < yx nhỏ hơn y>=x >= yx bằng hoặc lớn hơn y<=x <= yx bằng hoặc nhỏ hơn yinx in yphần tử x tồn tại trong ynot inx not in yphần tử x không tồn tại trong yPhép so sánh trong python sẽ kết hợp toán tử so sánh cùng với hai giá trị ở hai vế trái phải thành một biểu thức điều kiện, sau đó kiểm tra biểu thức điều kiện này là đúng hay sai và đưa ra kết quả. Kết quả của các phép so sánh trong python sẽ là kiểuboolean trong python với hai giá trị là True (đúng) hoặc False (sai), và phép toán so sánh trong python được sử dụng để cấu tạo biểu thức điều kiện được sử dụng trong câu lệnh if trong python. So sánh bằng trong pythonĐể so sánh hai giá trị có bằng nhau hay không, chúng ta sử dụng toán tử so sánh bằng trong python == hoặc là toán tử so sánh khác trong python !=. Nếu hai giá trị bằng nhau, toán tử so sánh bằng trong python == trả về True và ngược lại nếu hai giá trị không bằng nhau, toán tử so sánh khác trong python != sẽ trả về True. So sánh 2 số trong PythonKhi sử dụng phép so sánh bằng để so sánh hai số trong python, không những chúng ta có thể so sánh giữa số nguyên với số nguyên, số thực với số thực, mà còn có thể so sánh các số có kiểu dữ liệu khác nhau như số nguyên với số thực v.v.. So sánh chuỗi pythonKhi sử dụng phép so sánh bằng để so sánh chuỗi python, chúng ta kiểm tra giá trị của chúng có bằng nhau hay không. Lưu ý là khi so sánh chuỗi trong python, chúng ta cần phân biệt giữa chữ hoa và chữ thường. Ví dụ: CopySo sánh 2 list trong PythonKhi sử dụng phép so sánh bằng để so sánh 2 list trong python, nếu như toàn bộ giá trị của các phần tử trong hai list đều giống nhau, giá trị True được trả về. Ví dụ: CopyLưu ý là khi so sánh hai list trong python, chúng ta cần chú ý tới cả thứ tự của các phần tử trong hai list. Nếu như giá trị các phần tử trong hai list là giống nhưng thứ tự của chúng trong hai list là khác nhau, hai list này sẽ được coi là khác nhau. CopyTương tự với list, chúng ta cũng dùng phép so sánh bằng giữa hai tuple như sau: CopySo sánh chuỗi với số trong python và chú ý lỗi logicVề căn bản, chúng ta không thể so sánh giữa chuỗi và số trong python, do hai kiểu dữ liệu này hoàn toàn khác nhau. Tuy nhiên khi so sánh bằng giữa một chuỗi và một số, do kết quả trả về của phép tính luôn là False chứ không xảy ra lỗi, nên chúng ta rất dễ hay nhầm lẫn khi nhập một chữ số từ bàn phím bằng lệnh input và tiến hành so sánh chữ số này với một số mà quên không đổi kiểu dữ liệu của chữ số sang số trước. Lỗi này đặc biệt hay gặp khi sử dụng so sánh bằng cùng lệnh input() trong hàm điều kiện python. Ví dụ, chúng ta nhập một số từ bàn phím bằng lệnh input() và so sánh với một số như sau: Copyprint("Nhập số 1")num= input(">>") if (num == 1): Kết quả: Copy>>> Nhập số 1>>> 1 >>> Số đã cho khác 1 Bạn có thể thấy mặc dù chúng ta đã nhập số 1 từ bàn phím, nhưng các lệnh trong khối if luôn bị bỏ qua, else luôn được chạy và kết quả trả về luôn là Số đã cho khác 1. Vì sao vậy? Để tránh lỗi này, hãy luôn chú ý phải dùng hàm int trong python hoặc hàm float() trong python để đổi chữ số nhập vào thành kiểu số rồi mới tính toán bạn nha. Phép so sánh lớn nhỏ trong pythonĐể so sánh lớn nhỏ trong python, chúng ta sử dụng các toán tử <, >, >= và <=. Chúng ta hãy cùng xem một số ví dụ cụ thể sử dụng phép so sánh lớn nhỏ trong python sau đây: So sánh 2 số trong PythonKhi sử dụng phép so sánh lớn nhỏ để so sánh 2 số trong Python, chúng ta kiểm tra giá trị của chúng lớn hơn hay nhỏ hơn. CopyLưu ý là chúng ta không thể sử dụng phép so sánh lớn nhỏ để so sánh 2 số phức trong Python. CopyLỗi sau đây sẽ xảy ra: CopyTraceback (most recent call last):File "Main.py", line 1, in print((5 + 2j) > (3 + 4j)) TypeError: '>' not supported between instances of 'complex' and 'complex' So sánh chuỗi pythonKhi sử dụng phép so sánh lớn nhỏ để so sánh chuỗi python, thay vì so sánh trực tiếp giá trị của hai chuỗi, chúng ta sẽ so sánh các điểm mã unicode (unicode code point) của chúng. Khi so sánh lớn nhỏ hai ký tự đơn, chúng ta đơn giản so sánh điểm mã unicode của chúng. Ví dụ, do điểm mã unicode của ký tự a là 97 sẽ lớn hơn của ký tự A à 65 nên phép so sánh sau sẽ cho ra kết quả True. CopyTuy nhiên khi so sánh 2 chuỗi ký tự với nhau, chúng ta không thể đơn thuần so sánh các điểm mã unicode của từng ký tự được. Lúc này, phép so sánh sẽ bắt đầu từ ký tự đầu tiên trong hai chuỗi, và nếu chúng giống nhau, các ký tự tiếp theo được so sánh cho tới khi xuất hiện một ký tự khác nhau đầu tiên trong hai chuỗi. Khi đó, điểm mã unicode của ký tự này sẽ đại diện cho cả chuỗi và được dùng để so sánh lớn nhỏ. Ví dụ: CopyỞ ví dụ 1, ký tự khác nhau đầu tiên trong hai chuỗi là A và a, do đó mặc dù chuỗi bên trái nhiều ký tự hơn chuỗi bên phải nhưng điểm mã unicode của A lại nhỏ hơn a, do đó chuỗi bên trái sẽ nhỏ hơn chuỗi bên phải. So sánh 2 list trong PythonKhi sử dụng phép so sánh lớn nhỏ để so sánh 2 list trong Python, phần tử đầu tiên có giá trị khác nhau trong hai list sẽ được dùng để so sánh. Ví dụ: CopyỞ ví dụ này, phần tử đầu tiên có giá trị khác nhau trong hai chuỗi là green và white, do đó kết quả phép so sánh lớn nhỏ giữa hai chuỗi này sẽ quyết định kết quả phép so sánh lớn nhỏ giữa hai list chứa chúng. Kiểm tra tồn tại của phần tử trong Python bằng các toán tử in và not inĐể kiểm tra tồn tại của phần tử trong Python, chúng ta sử dụng tới các toán tử so sánh là toán tử in hoặc toán tử not in. Ví dụ, chúng ta sử dụng phép toán kiểm tra tồn tại của phần tử trong Python để kiểm tra tồn tại của phần tử trong list, trong tuple hoặc trong chuỗi như sau: CopyChúng ta ứng dụng phép toán kiểm tra tồn tại của phần tử trong Python với nhiều kiểu dữ liệu trong python, ví dụ bạn có thể Kiểm tra key hoặc value có tồn tại trong dictionary python hay không hoặc là Tìm phần tử trong set python chẳng hạn. So sánh các kiểu dữ liệu khác nhau trong pythonTrong python, có những trường hợp chúng ta có thể do sánh các kiểu dữ liệu khác nhau thông qua các toán tử so sánh, nhưng cũng có những trường hợp chúng ta không thể so sánh các kiểu dữ liệu khác nhau trong python. Ví dụ, chúng ta có thể so sánh giữa số nguyên và số thực như sau: CopyNhưng nếu chúng ta đem so sánh giữa một số nguyên với một chuỗi ký tự, lỗi TypeError sẽ bị trả về: CopyNội dung lỗi: CopyTraceback (most recent call last):File "Main.py", line 1, in print(10 > "1") TypeError: '>' not supported between instances of 'int' and 'str' Trong trường hợp bạn cần so sánh một số với một chữ số trong python, hãy sử dụng tới hàm int trong python để chuyển kiểu dữ liệu của chữ số từ chuỗi thành kiểu số, rồi mới tiến hành so sánh chúng như sau: CopyTổng kếtTrên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng các phép so sánh trong python được biểu diễn thông qua các toán tử so sánh trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé. Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo. HOME>> python cơ bản - lập trình python cho người mới bắt đầu>>07. lệnh điều kiện trong python |