Mục lục
Python là một ngôn ngữ lập trình cấp cao, cấp cao, được giải thích. Gan Guido Rossum đã thiết kế ngôn ngữ này và phát hành Python 0.9.0 vào năm 1991. Python nổi tiếng với khả năng đọc mã và cú pháp dễ dàng, sử dụng các từ khóa tiếng Anh đơn giản và loại bỏ việc sử dụng dấu chấm phẩy và dấu ngoặc xoăn. & NBSP; is a general-purpose, high-level, interpreted programming language. Gan Guido Rossum designed this language and released Python 0.9.0 in 1991. Python is well-known for its code readability and easy syntax, which uses simple English keywords and eliminates the use of semicolons and curly brackets.
Có một số kịch bản mà bạn sẽ được yêu cầu so sánh hai đối tượng trong mã của bạn. Ngoài ra, trong Python, so sánh các đối tượng và biến là một nhiệm vụ phổ biến. Python cung cấp hai cách khác nhau để so sánh các đối tượng và biến. Đầu tiên là toán tử bình đẳng [==] và thứ hai là toán tử [IS].
Bài viết này sẽ hướng dẫn bạn qua những khác biệt chính giữa Python, là và và ==, cùng với các ví dụ của họ. Ngoài ra, nó thảo luận về ‘là và và ==, riêng biệt để hiểu rõ hơn. & Nbsp;
Từ khóa là gì?
Từ khóa của IS IS được sử dụng để xác minh xem hai biến thuộc cùng một đối tượng. Nếu cả hai biến thuộc về cùng một đối tượng, nó sẽ trả về đúng, nếu không thì sai.
Ví dụ, chúng tôi có hai biến, một A và B B B., & NBSP; và cả hai đều có cùng giá trị với 4 4, như được hiển thị bên dưới. Nếu chúng ta sử dụng toán tử là một toán tử trên cả hai biến và chúng có cùng một giá trị, thì nó phải trả về đúng. & NBSP;
Trong Python, các biến có cùng giá trị đều được gán cùng một ID đối tượng trong bộ nhớ. Ở đây, một ví dụ về cách thức hoạt động của từ khóa của IS IS:
Example::
a = 4
b = 4
print[a is b]
print[id[a]]
print[id[b]]
Output:
True
1642650272
Toán tử của IS IS sẽ chỉ hoạt động tốt khi các biến được gán cho một số giá trị. Hãy xem xét một ví dụ khác trong đó chúng tôi có hai danh sách trống, như được hiển thị bên dưới. Trong Python, hai danh sách khác nhau sẽ đề cập đến hai đối tượng khác nhau với các vị trí bộ nhớ khác nhau, làm cho cả hai danh sách khác biệt. & NBSP;
Example:
l1 = []
l2 = []
print[l1 is l2]
print[id[l1]]
print[id[l2]]
Output:
False
2286738320968
2241222725312
Bạn có thể thấy rằng đầu ra ở trên hiển thị các giá trị khác nhau cho cả hai biến danh sách [L1 và L2] mặc dù chúng là danh sách trống. Do đó, đầu ra là sai. Để khắc phục sự nhầm lẫn này, chúng tôi nhảy vào toán tử [==].
Toán tử === là gì?
Có một toán tử so sánh [==] trong Python được sử dụng để đo sự bình đẳng python của hai đối tượng. Nó còn được gọi là toán tử bình đẳng [==]. & Nbsp;
Ví dụ trên, nơi chúng tôi đã so sánh hai danh sách trống bằng toán tử [IS], không cung cấp kết quả dự kiến. Bây giờ chúng tôi sẽ thử ví dụ đó với toán tử [==]: & nbsp;
Example:
list1= []
list2 = []
print[list1 == list2]
Output:
True
Toán tử [==] sẽ trả về giá trị thực, vì nó sẽ xem xét ID đối tượng trong khi so sánh.
Sự khác biệt giữa Python, là người vận hành
Ở đây, sự khác biệt chính giữa Python, ==
Từ khóa của IS là từ khóa được sử dụng để so sánh các biến và chuỗi cho dù chúng có chỉ vào cùng một đối tượng hay không. Nếu cả hai biến [var1 và var2] đề cập đến cùng một đối tượng, chúng sẽ có cùng một id. & Nbsp; is used to compare the variables and string whether they are pointing to the same object or not. If both the variables [var1 and var2] refer to the same object, they will have the same ID.
Toán tử của === sẽ so sánh cả hai biến cho dù giá trị của chúng có đề cập đến cùng một đối tượng hay không.will compare both the variables whether their values refer to the same object or not.
Cả hai toán tử được sử dụng để so sánh; Tuy nhiên, mục đích của họ là khác nhau. Do đó, chúng được sử dụng trong các kịch bản khác nhau. & NBSP;purpose is different. Thus, they are used in different scenarios.
Trong Python, mọi thứ đều là một đối tượng và được gán một số bộ nhớ. & NBSP;
- Các toán tử nhận dạng: Các từ khóa của IS IS và không phải là từ khóa được gọi là các toán tử nhận dạng so sánh các đối tượng dựa trên danh tính của chúng. The “is” and “is not” keywords are called identity operators that compare objects based on their identity.
- Toán tử bình đẳng: Các = == và và! = 'Được gọi là toán tử bình đẳng so sánh các đối tượng dựa trên các giá trị của chúng. Nó sẽ gọi phương thức lớp _eq_ [] của đối tượng ở bên trái của toán tử và kiểm tra sự bình đẳng. & Nbsp; The “==” and “!=” are called equality operators that compare the objects based on their values. It will call the _eq_[] class method of the object on the left of the operator and check for equality.
Ví dụ:
a is None
Trong trường hợp này, trình thông dịch sẽ chỉ so sánh với danh tính của nó và không thể được ghi đè. Điều này có nghĩa là nó sẽ kiểm tra xem có phải là một đối tượng không có đối tượng và không có gì khác.
Nhưng với ví dụ sau:
a == None
Toán tử của === sẽ gọi phương thức lớp A._EQ_ [], có thể hoạt động khác nhau, tùy thuộc vào trình thông dịch và cung cấp một kết quả khác.
Example:
class B:
def __eq__[self, other]:
return True
a = B[]
print[var_a == 1]
print[var_a == None]
print[var_a is None]
Output:
True
True
False
Trình thông dịch Python sẽ thực tập các số nhỏ hơn tại các vị trí bộ nhớ cố định. Nó có nghĩa là thông dịch viên sẽ chỉ chứng minh các giá trị này một lần. Nó sẽ đề cập đến địa chỉ bộ nhớ của nó bất cứ khi nào đối tượng được tham chiếu. Phạm vi của các số này có thể thay đổi tùy thuộc vào trình thông dịch của bạn [-5 đến +256].
Làm việc với các số nguyên nhỏ [ví dụ]
Example:
True
1642650272
0Output::
True
1642650272
1Do thực tập, chúng tôi nhận được cùng một vị trí bộ nhớ cho 256.
Nhưng nếu chúng ta sử dụng số nguyên lớn hơn phạm vi, thì đầu ra có thể thay đổi. & NBSP;
Ví dụ:
True
1642650272
2Output:
True
1642650272
3Trong trường hợp này, trình thông dịch sẽ chỉ so sánh với danh tính của nó và không thể được ghi đè. Điều này có nghĩa là nó sẽ kiểm tra xem có phải là một đối tượng không có đối tượng và không có gì khác.
True
1642650272
4True
1642650272
5Output:
True
1642650272
6id[var_b]
Output:
True
1642650272
6True
1642650272
8Output:
True
l1 = []
l2 = []
print[l1 is l2]
print[id[l1]]
print[id[l2]]
0Output:
True
Bây giờ, chúng tôi sẽ tạo một bản sao của biến VAR_A bằng toán tử lát cắt. Nó sẽ tạo một đối tượng mới trong bộ nhớ có một địa chỉ mới; Vì vậy, nó sẽ có một ID mới.
l1 = []
l2 = []
print[l1 is l2]
print[id[l1]]
print[id[l2]]
2True
1642650272
5Output:
True
1642650272
6l1 = []
l2 = []
print[l1 is l2]
print[id[l1]]
print[id[l2]]
5Output:
l1 = []
l2 = []
print[l1 is l2]
print[id[l1]]
print[id[l2]]
6l1 = []
l2 = []
print[l1 is l2]
print[id[l1]]
print[id[l2]]
7Output:
l1 = []
l2 = []
print[l1 is l2]
print[id[l1]]
print[id[l2]]
8l1 = []
l2 = []
print[l1 is l2]
print[id[l1]]
print[id[l2]]
9Output:
True
Cả TUS VAR_A và VAR_C đều đề cập đến các đối tượng khác nhau trong bộ nhớ.
Python 'IS' VS '==' Toán tử: So sánh trực tiếp
Thông số | Là | == |
Những gì nó so sánh | Kiểm tra xem hai đối tượng có giống nhau hay không | Kiểm tra nó giá trị của hai đối tượng là giống nhau hay không |
So sánh | So sánh các biến và chuỗi | Chỉ so sánh các biến |
Loại toán tử | Toán tử nhận dạng | Toán tử bình đẳng |
Conclusion
Chúng tôi hy vọng rằng bài viết này đã giúp bạn hiểu cách sử dụng python == vs. Cả hai nhà khai thác đều có cách sử dụng khác nhau nhưng được sử dụng cho mục đích chính là so sánh. Từ khóa của IS là từ khóa được gọi là toán tử nhận dạng sẽ kiểm tra xem hai đối tượng có giống nhau hay không. Ngược lại, == trong Python hoạt động như một toán tử bình đẳng để xác định xem chúng có bằng nhau hay không. python == vs là
Bây giờ bạn đã biết những gì là vs == là, Python Learning đang chờ bạn. Quan tâm đến việc mở rộng kiến thức Python của bạn? Kiểm tra hướng dẫn học tập Python của chúng tôi.Check out our Python learning guide.
Kiểm tra các khóa học Python tốt nhất này!
Xem tại sao hàng triệu người chuyển sang các chuyên gia trong thế giới thực Udemy để học Python. Học theo tốc độ của riêng bạn với các bài tập và câu đố thực hành
Các câu hỏi thường gặp
1. Có sự khác biệt giữa == và là?
Toán tử [==] là toán tử bình đẳng được sử dụng để so sánh hai đối tượng để xác định xem chúng có bằng nhau hay không. Mặt khác, toán tử Python là là một toán tử nhận dạng so sánh các đối tượng dựa trên danh tính của chúng. & NBSP;
2. Từ khóa ‘là gì trong Python là gì?
Các từ khóa của người Viking và không phải là từ khóa được gọi là toán tử nhận dạng kiểm tra xem các đối tượng có giống hệt hay không. & NBSP;
3. Có nghĩa là gì trong Python?
Bạn có thể sử dụng toán tử này để so sánh giá trị của hai đối tượng để xác định xem chúng có bằng hay không. Trong Python, nó cũng được gọi là toán tử bình đẳng. & NBSP;
4. Sự khác biệt giữa các toán tử bình đẳng và nhận dạng là gì?
Từ khóa của IS là từ khóa được sử dụng để so sánh các biến và chuỗi cho dù chúng có chỉ vào cùng một đối tượng hay không. Nếu cả hai biến [var1 và var2] tham khảo cùng một đối tượng, chúng sẽ có cùng một ID. Tuy nhiên, toán tử === sẽ so sánh các giá trị của cả hai biến.
5. Làm thế nào để bạn viết bằng nhau trong Python?
Chúng ta có thể viết bản quyền bằng nhau trong Python bằng toán tử [==]. & NBSP;
6. Sự khác biệt giữa = và == trong Python là gì?
Tiết = Chỉ gán một giá trị cho một biến, trong khi đó, ==, xác minh sự bình đẳng python của hai biến khác nhau.
Đọc liên quan:
- Sách Python hay nhất
- Trình biên dịch Python tốt nhất
- Thông dịch viên Python tốt nhất
- Cách chạy tập lệnh Python
- Python cho khoa học dữ liệu
- Python vs PHP
- Python vs Java