Sự khác biệt giữa các toán tử này trong python là gì?

So sánh hai đối tượng là một nhiệm vụ khá phổ biến trong khi mã hóa bất kỳ loại phần mềm nào. Để so sánh chuỗi và biến số chúng ta thường áp dụng toán tử đẳng thức ==, tuy nhiên, để so sánh hai đối tượng thì toán tử is phù hợp hơn

Trong bài đăng này, chúng tôi cố gắng giải thích cách hoạt động của hai toán tử này, hiển thị một số ví dụ và cố gắng làm rõ những nghi ngờ của bạn về chủ đề này

Hãy bình luận hoặc liên lạc với tôi nếu cần thiết;

Bình đẳng hay bản sắc?

Để hiểu rõ hơn về hai khái niệm này, chúng ta sẽ sử dụng phép loại suy về hai anh em sinh đôi. Họ trông thật giống nhau. Nếu bạn nhìn vào một bức ảnh của họ, có lẽ bạn không thể nói ai là ai

Toán tử == được gọi là đẳng thức. Nếu cặp song sinh là đối tượng Python, thì nếu chúng ta sử dụng toán tử ==, nó sẽ trả về câu trả lời là "Cả hai đều bình đẳng"

Toán tử is được gọi là danh tính. Nếu chúng ta sử dụng is để so sánh chúng, chúng ta sẽ nhận được câu trả lời là "Cả hai đều không bằng nhau". Họ có tên, thị hiếu và hành vi khác nhau

Mọi người đều biết họ trông giống nhau, nhưng trong sâu thẳm, họ không phải là một người nào đó, phải không? . Con người ai cũng cần phát triển nhân cách và cuộc sống đúng không?

Bây giờ, hãy xem một số mã để mở rộng các khái niệm này

Nếu không rõ với ví dụ truyền thống này với cặp song sinh, có thể với số nguyên và danh sách, bạn sẽ hiểu

Hãy cẩn thận với các số nguyên nhỏ [chúng được thực tập]

Trong ví dụ đầu tiên của chúng tôi, chúng tôi so sánh các biến a và b. Cả hai đều được gán 256 làm giá trị. Và các biến c và d, được gán với 257. Hãy nhìn vào hình bên dưới. Kết quả có ý nghĩa với bạn không?

256 bằng 256

Trước hết, nếu bạn quan tâm đến việc so sánh các giá trị số nguyên, bạn nên sử dụng toán tử đẳng thức ==. Toán tử nhận dạng sẽ thực hiện so sánh địa chỉ bộ nhớ. Hãy tưởng tượng chúng sẽ hoạt động như id[a]==id[b], trong đó hàm id[] trả về địa chỉ bộ nhớ của từng biến

257 không bằng 257 thì làm sao được?

Thứ hai, đằng sau hậu trường, Python thực tập các đối tượng với các giá trị thường được sử dụng [ví dụ: các số nguyên -5 đến 256] để

Do đó, kết quả so sánh giữa c và d là Sai khi sử dụng toán tử là

Nếu bạn không cảm thấy tự tin, hãy thử mã vào máy của bạn. Trong mã chúng tôi tin tưởng

Trong mã chúng tôi tin tưởng

Hàm id[] trả về địa chỉ bộ nhớ của một biến. Nó được gọi là danh tính biến

Thậm chí khó khăn c và d có cùng giá trị, chúng được lưu trữ vào hai địa chỉ bộ nhớ. So sánh hai danh sách

Chúng tôi sẽ tạo một danh sách có tên list_a chứa các phần tử [1, 2, 3] và một danh sách khác list_b sẽ là bản sao của list_a.

Sử dụng cách in, chúng ta có thể thấy rằng cả hai biến nội dung dường như giống hệt nhau. Vì chúng trông giống nhau nên kết quả sẽ là "True" khi chúng ta so sánh bằng cách sử dụng toán tử ==

Để so sánh xem cả hai biến có trỏ đến cùng một đối tượng hay không, chúng ta nên so sánh hơn là sử dụng toán tửis. Lệnh này sẽ xác nhận rằng cả hai biến đều trỏ đến một đối tượng danh sách

Sử dụng hàm is2, chúng ta có thể kiểm tra xem các biến có đang trỏ đến cùng một địa chỉ không. Bây giờ, hãy tạo một danh sách khác có tên_______1_______3 bằng cách sử dụng is4 chứa các phần tử của danh sách is5

Nếu chúng ta nhìn vào is3, thì nó giống với danh sách được chỉ ra bởi list_alist_b. Tuy nhiên, nó không giống với danh tính của list_a như của list_b

Chúng tôi có thể xác minh rằng toán tử == cho ==2 vì cả hai đều có cùng nội dung. Tuy nhiên, is3 được lưu trữ ở một địa chỉ khác, khi đó toán tử is cho kết quả “Sai”

Python đang nói với chúng ta rằng is3 và list_a đang trỏ đến hai đối tượng khác nhau, mặc dù nội dung của chúng có thể giống nhau

Hình bên dưới là một ví dụ khác khi hai danh sách có thể có cùng nội dung và hai danh tính khác nhau. Hãy xem hai bản in cuối cùng và quan sát cách biến được lưu trữ vào hai địa chỉ khác nhau

Cuối cùng, hãy chú ý khi bạn sao chép các biến. Cách bạn sao chép chúng có thể tạo ra một con trỏ và khi bạn sửa đổi một con trỏ, bạn sẽ sửa đổi con trỏ kia

Sử dụng đúng toán tử

Bây giờ chúng ta đã hiểu sự khác biệt giữa == và bây giờ chúng ta hãy xem xét khi nào chúng ta nên sử dụng hai toán tử này

Sử dụng đẳng thức [ == ]

Khuyến nghị tiêu chuẩn là sử dụng == và. = toán tử để so sánh các giá trị. Ngoại trừ khi so sánh với Không. Trong trường hợp này, bạn không cần quan tâm đến vị trí bộ nhớ của các biến. Bạn chỉ muốn kiểm tra xem nội dung trong cả hai biến này có giống nhau không

Sử dụng Danh tính [ is ]

Sử dụng toán tử này nếu bạn muốn so sánh danh tính của hai đối tượng, nghĩa là nếu chúng được lưu trữ trong cùng một vị trí bộ nhớ, hãy sử dụng toán tử is và is not. Các toán tử này đặc biệt hữu ích trong việc so sánh các biến với Không và được ưu tiên hơn các phương thức lớp trong khi so sánh các biến với Không. Trong các trường hợp khác, tránh nó

Vì vậy, tôi hy vọng bài đăng này sẽ làm sáng tỏ bất kỳ nghi ngờ nào của bạn về ==is. Thay vào đó, nếu bây giờ bạn có nhiều nghi ngờ hơn, hãy để lại nhận xét và tôi sẽ trả lời bạn

Sự khác biệt giữa '/' và '/' trong Python là gì?

Trả lời. '/' là toán tử chia. '//' là toán tử chia tầng .

Sự khác biệt giữa và toán tử trong Python là gì?

Mặt khác, chúng ta sử dụng toán tử == khi muốn so sánh giá trị của hai đối tượng. . Sự khác biệt giữa toán tử == và is trong Python

Các loại toán tử khác nhau trong Python là gì?

Toán tử Python .
toán tử số học
Toán tử gán
Toán tử so sánh
Toán tử logic
Toán tử nhận dạng
nhà khai thác thành viên
Toán tử bitwise

Sự khác biệt giữa '/' và toán tử là gì?

Trả lời. Các toán tử này là toán tử số học. Chúng được sử dụng trong các biểu thức toán học trong nhiều ngôn ngữ lập trình như python, java, C, v.v. / được gọi là toán tử chia thực hiện phép chia và % được gọi là toán tử mô đun, nó được sử dụng để tìm phần còn lại .

Chủ Đề