Table of Contents

    ভেরিয়েবল (Variables), l-value এবং r-value ধারণা Python-এ

    ✔ ভেরিয়েবল (Variables) কী?

    Python-এ ভেরিয়েবল হল ডাটা সংরক্ষণের জন্য ব্যবহৃত একটি নাম। এটি মেমোরির একটি স্থানকে নির্দেশ করে, যেখানে ভিন্ন ভিন্ন ডাটা সংরক্ষণ করা যায়।

    ✔ ভেরিয়েবল ঘোষণা ও ব্যবহার

    Python-এ ভেরিয়েবল ব্যবহারের জন্য = অপারেটর ব্যবহার করা হয়, যা ডানপাশের মানটি (r-value) বামপাশের ভেরিয়েবলে (l-value) সংরক্ষণ করে।

    
    x = 10
    name = "Ansari"
    pi = 3.1416
    
    

    ✔ l-value এবং r-value ধারণা

    Python-এ ভেরিয়েবল অ্যাসাইনমেন্টে দুটি উপাদান থাকে:

    1. l-value (Left-hand value): ভেরিয়েবলের নাম, যা একটি মেমোরি লোকেশন নির্দেশ করে।
    2. r-value (Right-hand value): ভেরিয়েবলে সংরক্ষিত আসল মান

    ✔ l-value এবং r-value ব্যাখ্যা সহ উদাহরণ

    
    x = 5
    
    

    এখানে:
    x হল l-value, কারণ এটি একটি ভেরিয়েবলের নাম, যা মেমোরি লোকেশন নির্দেশ করে।
    5 হল r-value, কারণ এটি একটি ডাটা মান, যা x-এ সংরক্ষিত হচ্ছে।


    ✔ Python-এ l-value ও r-value ব্যবহার এবং বৈশিষ্ট্য

    ✔ বৈধ l-value ও r-value উদাহরণ

    
    a = 20        # a হল l-value, 20 হল r-value
    b = a + 10    # b হল l-value, a + 10 হল r-value
    c = b * 2     # c হল l-value, b * 2 হল r-value
    
    

    এখানে a, b, c হল l-value, এবং 20, a + 10, b * 2 হল r-value

    ❌ অকার্যকর l-value (ভুল)

    Python-এ কোনো স্থির মান (constant) কে l-value হিসেবে ব্যবহার করা যায় না

    
    10 = x  # ❌ ভুল! সংখ্যা (10) কখনোই l-value হতে পারে না।
    
    

    এটি SyntaxError তৈরি করবে।


    ✔ ভেরিয়েবলের কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য

    1️⃣ Python-এ ডাটা টাইপ স্বয়ংক্রিয় নির্ধারিত হয়

    
    x = 10         # Integer
    name = "Ansari" # String
    pi = 3.14      # Float
    is_active = True # Boolean
    
    

    Python statistically typed নয়, তাই ভেরিয়েবলের ধরন নির্দিষ্ট করতে হয় না।

    2️⃣ এক লাইনে একাধিক ভেরিয়েবল অ্যাসাইন করা যায়

    
    a, b, c = 1, 2, 3
    print(a, b, c)  # 1 2 3
    
    

    3️⃣ একাধিক ভেরিয়েবলে একই মান সংরক্ষণ করা যায়

    
    x = y = z = 100
    print(x, y, z)  # 100 100 100
    
    

    4️⃣ ডায়নামিক টাইপিং (Variable Reassignment)

    Python-এ একই ভেরিয়েবলে ভিন্ন ধরনের ডাটা সংরক্ষণ করা যায়।

    
    x = 10
    print(x)  # 10
    x = "Hello"
    print(x)  # "Hello"
    
    

    এটি Dynamic Typing নামে পরিচিত।


    ? Python-এ Mutable ও Immutable ভেরিয়েবল

    Python-এর কিছু ডাটা টাইপ পরিবর্তনযোগ্য (Mutable) এবং কিছু অপরিবর্তনযোগ্য (Immutable)।

    Mutable (পরিবর্তনযোগ্য) Immutable (অপরিবর্তনযোগ্য)
    List (list) String (str)
    Dictionary (dict) Tuple (tuple)
    Set (set) Integer (int)

    ✔ Immutable ভেরিয়েবলের উদাহরণ

    
    x = 10
    x = x + 5  # নতুন মেমোরি লোকেশন তৈরি হয়
    
    

    এখানে x পরিবর্তন করা হলেও, এটি মূল মান পরিবর্তন করেনি, বরং নতুন মান 15-এর জন্য নতুন মেমোরি বরাদ্দ করা হয়েছে।

    ✔ Mutable ভেরিয়েবলের উদাহরণ

    
    lst = [1, 2, 3]
    lst.append(4)  # একই মেমোরি লোকেশনে পরিবর্তন হয়
    print(lst)  # [1, 2, 3, 4]
    
    

    এখানে list-এর মান পরিবর্তিত হলেও মেমোরি ঠিক থাকে


    ? উপসংহার

    Variables (ভেরিয়েবল) হল Python-এ ডাটা সংরক্ষণের জন্য ব্যবহৃত নাম
    l-value হল ভেরিয়েবলের নাম, যা একটি মেমোরি লোকেশন নির্দেশ করে।
    r-value হল আসলে যে মানটি ভেরিয়েবলে সংরক্ষণ করা হয়
    Python ডায়নামিক টাইপিং ব্যবহার করে, তাই ভেরিয়েবলের ধরন পরিবর্তনযোগ্য।
    Mutable ও Immutable ডাটা টাইপের পার্থক্য বোঝা গুরুত্বপূর্ণ।

    Python-এ ভেরিয়েবল ব্যবহারের সঠিক নিয়ম অনুসরণ করে দক্ষ প্রোগ্রামার হওয়া সম্ভব! ✔