Friday 30 August 2024

How much do know Python's is Operator?

 

1. Comparing Small Integers

a = 100

b = 100


print(a is b)

True

Explanation:


In Python, small integers (typically between -5 and 256) are cached and reused for efficiency.

When you assign 100 to both a and b, they reference the same memory location because they fall within this range.

Thus, a is b returns True because a and b point to the same object in memory.

2. Comparing Large Integers

a = 300

b = 300


print(a is b)

False

Explanation:


Integers outside the small integer cache range (typically beyond 256) are not necessarily cached.

When you assign 300 to both a and b, they may reference different memory locations.

As a result, a is b returns False because a and b do not necessarily point to the same object in memory.


3. Comparing Strings

a = "hello"

b = "hello"


print(a is b)

True

Explanation:


Python optimizes string storage by using interning for identical string literals.

Since both a and b are assigned the same string literal "hello", they point to the same object in memory.

Hence, a is b returns True because a and b reference the same object.

4. Comparing Lists python

a = "hello"

b = "hello"


print(a is b)

True

Explanation:


Lists are mutable and are not interned like small integers or strings.

Even if a and b contain the same elements, they are distinct objects in memory.

Therefore, a is b returns False because a and b do not refer to the same memory location.


5. Comparing Tuples

a = (1, 2, 3)

b = (1, 2, 3)


print(a is b)

False

Explanation:


Tuples with identical content are not always interned or cached by Python.

Although a and b have the same elements, they are separate objects in memory.

Hence, a is b returns False because a and b do not necessarily point to the same object in memory.

0 Comments:

Post a Comment

Popular Posts

Categories

AI (29) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (122) C (77) C# (12) C++ (82) Course (67) Coursera (195) Cybersecurity (24) data management (11) Data Science (100) Data Strucures (7) Deep Learning (11) Django (14) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Google (19) Hadoop (3) HTML&CSS (46) IBM (25) IoT (1) IS (25) Java (93) Leet Code (4) Machine Learning (46) Meta (18) MICHIGAN (5) microsoft (4) Pandas (3) PHP (20) Projects (29) Python (840) Python Coding Challenge (279) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (2) Software (17) SQL (41) UX Research (1) web application (8)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses