Table of Contents

    identity অপারেটর in Python

    Python-এ Identity Operator (আইডেন্টিটি অপারেটর)

    Python-এ Identity Operator ব্যবহার করা হয় দুটি Object একই Object কি না তা পরীক্ষা করার জন্য। অর্থাৎ, দুটি variable-এর value একই কি না তা পরীক্ষা করার পরিবর্তে, তারা একই object-কে নির্দেশ করছে কি না তা যাচাই করতে Identity Operator ব্যবহার করা হয়।

    Python-এ দুটি Identity Operator রয়েছে:

    • is
    • is not

    is Operator

    is operator পরীক্ষা করে দুটি variable একই object-কে নির্দেশ করছে কি না। যদি দুটি variable একই object-কে নির্দেশ করে, তাহলে এর ফলাফল True হবে। অন্যথায় ফলাফল False হবে।

    উদাহরণ

    x = [10, 20, 30]
    y = x
    
    print(x is y)

    Output:

    True

    এখানে y = x করার ফলে x এবং y একই list object-কে নির্দেশ করছে। তাই x is y এর ফলাফল True হবে।

    is not Operator

    is not operator পরীক্ষা করে দুটি variable একই object-কে নির্দেশ করছে না কি না। যদি দুটি variable আলাদা object-কে নির্দেশ করে, তাহলে is not এর ফলাফল True হবে।

    উদাহরণ

    x = [10, 20, 30]
    y = [10, 20, 30]
    
    print(x is not y)

    Output:

    True

    এখানে x এবং y-এর value একই হলেও তারা দুটি আলাদা list object। তাই x is not y এর ফলাফল True হবে।

    Identity Operator এবং == Operator-এর পার্থক্য

    Identity Operator এবং == operator-এর কাজ এক নয়। == operator দুটি object-এর value সমান কি না তা পরীক্ষা করে। অন্যদিকে is operator দুটি variable একই object-কে নির্দেশ করছে কি না তা পরীক্ষা করে।

    উদাহরণ

    x = [10, 20, 30]
    y = [10, 20, 30]
    
    print(x == y)
    print(x is y)

    Output:

    True
    False

    এখানে x == y এর ফলাফল True, কারণ দুটি list-এর value একই। কিন্তু x is y এর ফলাফল False, কারণ x এবং y দুটি আলাদা list object-কে নির্দেশ করছে।

    is Operator-এর আরও একটি উদাহরণ

    a = [1, 2, 3]
    b = a
    c = [1, 2, 3]
    
    print(a == b)
    print(a is b)
    
    print(a == c)
    print(a is c)

    Output:

    True
    True
    True
    False

    এখানে b = a করার কারণে a এবং b একই object-কে নির্দেশ করছে। তাই a == b এবং a is b উভয়ের ফলাফল True

    অন্যদিকে c = [1, 2, 3] একটি নতুন list object তৈরি করেছে। a এবং c-এর value একই হলেও তারা একই object নয়। তাই a == c এর ফলাফল True, কিন্তু a is c এর ফলাফল False

    is Operator এবং None

    Python-এ কোনো variable-এর value None কি না পরীক্ষা করার সময় is operator ব্যবহার করা একটি প্রচলিত পদ্ধতি।

    উদাহরণ

    value = None
    
    if value is None:
        print("কোনো value নেই")

    Output:

    কোনো value নেই

    এখানে value is None দ্বারা পরীক্ষা করা হচ্ছে value আসলে None object-কে নির্দেশ করছে কি না।

    Identity Operator-এর Syntax

    is

    object1 is object2

    যদি object1 এবং object2 একই object-কে নির্দেশ করে, তাহলে ফলাফল হবে True

    is not

    object1 is not object2

    যদি object1 এবং object2 আলাদা object-কে নির্দেশ করে, তাহলে ফলাফল হবে True

    Identity Operator ব্যবহারের গুরুত্বপূর্ণ বিষয়

    Identity Operator ব্যবহার করার সময় মনে রাখতে হবে যে == এবং is একই কাজ করে না।

    • == দুটি value সমান কি না পরীক্ষা করে।
    • is দুটি variable একই object-কে নির্দেশ করছে কি না পরীক্ষা করে।
    • is not দুটি variable আলাদা object-কে নির্দেশ করছে কি না পরীক্ষা করে।

    আরও একটি উদাহরণ

    x = [1, 2]
    y = [1, 2]
    
    print(x == y)
    print(x is y)

    Output:

    True
    False

    এখানে x এবং y-এর value একই হলেও তারা দুটি পৃথক object। তাই x == y এর ফলাফল True, কিন্তু x is y এর ফলাফল False

    Identity Operator-এর সংক্ষিপ্তসার

    Operator কাজ
    is দুটি variable একই object-কে নির্দেশ করছে কি না পরীক্ষা করে।
    is not দুটি variable আলাদা object-কে নির্দেশ করছে কি না পরীক্ষা করে।

    উপসংহার

    Python-এর Identity Operator মূলত দুটি variable একই object-কে নির্দেশ করছে কি না তা পরীক্ষা করার জন্য ব্যবহৃত হয়। Python-এ is এবং is not হলো দুটি Identity Operator।

    সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো, == যেখানে value-এর সমতা পরীক্ষা করে, সেখানে is object-এর identity পরীক্ষা করে। তাই দুটি object-এর value একই হলেও তারা একই object নাও হতে পারে।