Объект ва ном
Дар Python ҳар қимат объект аст, ки дар хотира ҷой дорад. Ном (a, b) – барчасбест, ки ба объект часпонида мешавад. Як объект метавонад чанд ном дошта бошад.
Python ду оператори айният дорад: is ва is not. Онҳо мавқеи ду объектро дар хотира муқоиса мекунанд. Ҷавоб – True ё False.
Як объект бо ду ном
Мисоли 1. b = a: ном нави b ба ҳамон рӯйхат мечаспад.
id(a) – «рақами» объект дар хотира. Ҳарду ном ба як объект ишора мекунанд, пас is – True.
Ду объекти баробар
Мисоли 2. Ду рӯйхат бо ҷузъҳои баробар, вале алоҳида сохта шудаанд.
Қиматҳо баробаранд (== – True), вале объектҳо ду адад аст (is – False). Пас «қиматҳо баробар = is – True» нодуруст аст.
Ададҳо ва сатрҳо
Python ададҳои бутуни хурд (аз −5 то 256) ва баъзе сатрҳоро аз нав истифода мебарад: барои онҳо объекти нав сохта намешавад.
Мисоли 3. Дар консол:
Адади 12 хурд аст, ҳарду ном як объектро мегиранд: True. Адади 315 аз 256 калон аст: дар консол ҳар сатр ҷудо иҷро мешавад ва ҳар дафъа объекти нав сохта мешавад: False, гарчанде == – True.
Дар скрипт ҳамин барнома:
Натиҷа:
Скрипт якбора тартиб дода мешавад ва ду адади якхела дар як барнома як объект мегиранд: True. Яъне натиҷаи is дар консол ва дар скрипт гуногун буда метавонад. Барои сатрҳо ҳам ҳамин аст:
Аз ин ҷо хулоса: барои муқоисаи қиматҳо ҳамеша == гиред. Ба ҷавоби is барои ададҳо ва сатрҳо такя накунед.
is not ва мисолҳои скрипт
Мисоли 4. Дар скрипт is-ро бо ададҳои 45 ва 33, 120 ва 120, 135 ва 240 месанҷем:
Натиҷа:
Мисоли 5. Ҳамин тавр is not – баръакси is:
Натиҷа:
Дар ҳолати 35 ва 35 объект як аст, пас is not – False.
Мисоли 6. Ададҳоро ба тағйирёбанда диҳед, пас is кор мекунад. Навиштани 35 is 45 бевосита Python-ро ба ҳушдор (SyntaxWarning) меорад: «шояд == лозим бошад?».