🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
The operator.is_not function in Python's operator module checks if two objects are not the same object (i.e., it checks for object non-identity). It is equivalent to using the is not operator but allows the non-identity check to be used as a function, which can be useful in functional programming and higher-order functions.
Table of Contents
- Introduction
operator.is_notFunction Syntax- Examples
- Basic Usage
- Checking Object Non-Identity with Lists
- Using in Functional Programming
- Real-World Use Case
- Conclusion
Introduction
The operator.is_not function is a part of the operator module, which provides a set of functions corresponding to standard operators. The operator.is_not function specifically checks if two objects are not the same object, which is useful when you need to ensure that two variables reference different objects in memory.
operator.is_not Function Syntax
Here is how you use the operator.is_not function:
import operator
result = operator.is_not(a, b)
Parameters:
a: The first object.b: The second object.
Returns:
Trueifaandbare not the same object,Falseotherwise.
Examples
Basic Usage
Check if two variables reference different objects using operator.is_not.
Example
import operator
a = [1, 2, 3]
b = a
c = [1, 2, 3]
result1 = operator.is_not(a, b)
result2 = operator.is_not(a, c)
print(f"is_not({a}, {b}) = {result1}") # False, because b is a reference to a
print(f"is_not({a}, {c}) = {result2}") # True, because c is a different object with the same content
Output:
is_not([1, 2, 3], [1, 2, 3]) = False
is_not([1, 2, 3], [1, 2, 3]) = True
Checking Object Non-Identity with Lists
Check if elements in a list reference different objects.
Example
import operator
a = [1, 2, 3]
b = [a, a, a]
c = [a, [1, 2, 3], a]
result = [operator.is_not(a, element) for element in c]
print(f"Object non-identity check in list {c} with {a}: {result}")
Output:
Object non-identity check in list [[1, 2, 3], [1, 2, 3], [1, 2, 3]] with [1, 2, 3]: [False, True, False]
Using in Functional Programming
Use operator.is_not in a higher-order function to filter a list for objects different from a specific object.
Example
import operator
a = [1, 2, 3]
b = [a, [1, 2, 3], a, [4, 5, 6]]
filtered_list = list(filter(lambda x: operator.is_not(x, a), b))
print(f"Filtered list not containing the same object as {a}: {filtered_list}")
Output:
Filtered list not containing the same object as [1, 2, 3]: [[1, 2, 3], [4, 5, 6]]
Real-World Use Case
Ensuring Unique Object References
In complex applications, you might need to ensure that specific variables or data structures reference unique objects. The operator.is_not function can be useful in ensuring that no two variables point to the same object.
Example
import operator
# Example objects
obj1 = {"key": "value"}
obj2 = obj1
obj3 = {"key": "value"}
# Check if obj2 and obj3 are different objects from obj1
different_from_obj1 = list(map(lambda x: operator.is_not(x, obj1), [obj2, obj3]))
print(f"Object non-identity check: {different_from_obj1}")
Output:
Object non-identity check: [False, True]
Conclusion
The operator.is_not function is used for checking object non-identity in a functional programming context in Python. It provides a way to use the non-identity check as a function, which can be passed to other functions or used in higher-order functions. By understanding how to use operator.is_not, you can write more flexible and readable code that leverages functional programming techniques and ensures correct object reference management.
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
ChatGPT + Generative AI + Prompt Engineering for Beginners
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
Testing Spring Boot Application with JUnit and Mockito
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
Available in Udemy for Business
Master Spring Data JPA with Hibernate
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
Available in Udemy for Business
Comments
Post a Comment
Leave Comment