Python for AI/Python শুরু/Lesson 02
Variables
Data-কে একটা নাম দিয়ে মনে রাখো, পরে ব্যবহার করো, বদলাও — programming-এর সবচেয়ে মৌলিক ধারণা।
- সময়
- 15 মিনিট
- Exercise
- 1
- Challenge
- 1
- Quiz
- 3 প্রশ্ন
সহজ ভাষায়
Variable হলো একটা নাম দেওয়া বাক্সের মতো, যার ভেতরে data রাখা যায়।
name age cgpa
+---------+ +------+ +--------+
| "Karim" | | 21 | | 3.75 |
+---------+ +------+ +--------+
বাক্সের গায়ে নাম লেখা আছে (name, age), আর ভেতরে আছে মান। পরে যখনই দরকার, নাম ধরে ডাকলেই মান পাওয়া যাবে।
কেন দরকার?
ধরো তুমি একটা ML model train করছো। Model-এর learning_rate তুমি ১০ জায়গায় ব্যবহার করছো। যদি প্রতিবার সরাসরি 0.001 লেখো, পরে মান বদলাতে হলে ১০ জায়গায় বদলাতে হবে — আর একটা ভুলে গেলেই bug। Variable-এ রাখলে এক জায়গায় বদলালেই সব জায়গায় বদলে যায়।
Variable বানানো
Python-এ variable বানাতে শুধু লেখো নাম = মান:
এখানে = মানে "সমান" না — এর মানে "ডান পাশের মানটা বাম পাশের নামে রাখো"। একে বলে assignment।
মান বদলানো
Variable-এর মান যেকোনো সময় বদলানো যায় — তাই তো নাম "variable" (পরিবর্তনশীল)।
শেষ লাইনটা খেয়াল করো: score = score + 10। Python আগে ডান পাশ হিসাব করে (75 + 10 = 85), তারপর ফলাফল score-এ রাখে।
একসাথে একাধিক variable
নামকরণের নিয়ম
| নিয়ম | ঠিক | ভুল |
|---|---|---|
অক্ষর বা _ দিয়ে শুরু | score, _temp | 2score |
শুধু অক্ষর, সংখ্যা, _ | user_name | user-name |
| Keyword নয় | my_class | class, for |
Python-এ convention হলো snake_case: ছোট হাতের অক্ষর, শব্দের মাঝে _। যেমন learning_rate, num_epochs, train_data। PyTorch, scikit-learn-এর code-এ সবখানে এই style দেখবে।
ভালো নাম দেওয়া একটা skill।
x,a1-এর বদলেtotal_price,num_studentsলেখো — code নিজেই নিজেকে ব্যাখ্যা করবে।
ভুল হলে কী হয়?
যে variable বানানো হয়নি, সেটা ব্যবহার করলে NameError আসে:
Error message বলছে name 'totl' is not defined — বানান ভুল! এরকম typo খুব common। ঠিক করে আবার Run করো।
Exercise
Exercise
Student-এর তথ্য
তিনটা variable বানাও:
name— মান"Karim"age— মান21cgpa— মান3.75
তারপর print(name, age, cgpa) দিয়ে তিনটাই print করো।
Quiz
Challenge
Challenge
দুটো variable-এর মান অদল-বদল
a = 10 আর b = 20 দেওয়া আছে। এমন code লেখো যাতে শেষে a-এর মান 20 আর b-এর মান 10 হয়।
শর্ত: সরাসরি a = 20 বা b = 10 লেখা যাবে না — variable ব্যবহার করে অদল-বদল করতে হবে।
বাস্তবে কোথায় ব্যবহার হয়?
ML project-এ শুরুতেই সাধারণত hyperparameter-গুলো variable-এ রাখা হয়:
এতে experiment করার সময় শুধু উপরের মানগুলো বদলালেই হয়।
Interview প্রশ্ন
- Beginner: Python-এ variable declare করার সময় type লিখতে হয় না কেন? (Python dynamically typed — মান দেখে type ঠিক হয়।)
- Intermediate:
a = b = []লিখলে কী সমস্যা হতে পারে? (দুটো নামই একই list object-কে refer করে — একটায় বদলালে অন্যটাতেও দেখা যাবে। List lesson-এ এটা বিস্তারিত দেখব।) - Advanced: Python-এ variable আসলে "বাক্স" নাকি object-এর দিকে নির্দেশ করা "label"?
এরপর কী?
আমরা দেখলাম variable-এ text, পূর্ণসংখ্যা, দশমিক সংখ্যা — সব রাখা যায়। এগুলো আসলে আলাদা আলাদা Data Types। পরের lesson-এ সেটাই।