Naucz się operatora tożsamości Python i różnicy między operatorem „==” i „is”

Naucz się operatora tożsamości Python i różnicy między operatorem „==” i „is”

Ten artykuł jest głównie wyświetlany w celu wyjaśnienia ważnego operatora w Python (”Operator tożsamości”) I jak różni się operator tożsamości (Jest, nie jest) od operatora porównawczego (==).

Operator tożsamości

Operator tożsamości ("Jest" I "nie jest") służy do porównania lokalizacji pamięci obiektu. Gdy obiekt jest tworzony w pamięci, do tego obiektu przydzielony jest unikalny adres pamięci.

  • '==' Porównuje, jeśli obie wartości obiektów są identyczne, czy nie.
  • 'Jest' Porównuje, jeśli oba obiekt należy do tej samej lokalizacji pamięci.

Utwórz trzy obiekty ciągów Nazwa, Nazwa 1, I Nazwa2. Obiekt ciągów Nazwa I Nazwa2 pomieści tę samą wartość i Nazwa 1 pomieści różne wartości.

Kiedy tworzymy te obiekty, to, co dzieje się za scenie.

Teraz możesz użyć operatora porównawczego „==” Aby sprawdzić, czy obie wartości obiektów są takie same. Wyjście operatora porównawczego będzie logicznie (PRAWDA Lub FAŁSZ) wartość.

Utwórz i porównaj obiekty

Teraz, gdy porównałeś dwie wartości w celu ustalenia równości, spójrzmy na to, jak działa operator tożsamości.

Wbudowany ID() Do uzyskania „tożsamość”Obiekt. Liczba całkowita, która będzie unikalna i stała dla obiektu w ciągu swojego życia.

Aby to było proste, uważaj to za wyjątkowy rząd ID Lub ID EMP Przypisany do Ciebie, podobnie jak dla każdego obiektu przypisana jest unikalna wartość liczb całkowita.

Unikalna wartość liczb całkowita

Teraz możesz porównać 2 odniesienia do obiektów za pomocą "Jest" operator.

Operator tożsamości

Kiedy porównuję Nazwa I Nazwa 1 Lub Nazwa2 Korzystanie z operatora tożsamości to, co robi na zapleczu, to po prostu działa „Id (nazwa) == id (name2)”. Od ID (nazwa) I ID (Name2) Oba mają tę samą lokalizację pamięci, zwraca PRAWDA.

Teraz nadchodzi interesująca część. Spójrz na nasz poprzedni przykład, w którym oba Nazwa I Nazwa 1 mają identyczne wartości i zwraca tę samą wartość całkowitą podczas uruchomienia ID() funkcjonować. Czemu myślisz "Name_new" I "Name_le„Obiekt nie jest identyczny, mimo że mają te same wartości z poniższego zrzutu ekranu?

Wartości liczb całkowitych

Dzieje się tak z powodu implementacji Pythona. Podczas tworzenia obiektu liczb całkowitych w zakresie (-5 256) i obiekty łagodzące większe lub równe 20 znaki, zamiast tworzyć różne obiekty w pamięci dla tej samej wartości, które te obiekty działają jako wskaźnik do już utworzonych obiektów.

Poniżej reprezentacja obrazowa da ci jasne wyobrażenie o tym, co widzieliśmy do tej pory w tym artykule.

Reprezentacja schematyczna
Streszczenie

W tym artykule widzieliśmy, co jest Operator tożsamości. Jak stosuje się operator porównawczy i operator tożsamości, wdrożenie projektu na temat tworzenia obiektu w pamięci.