ভ্যারিয়েবল(Variable):
পাইথনে ভ্যারিয়েবল হলো অনেকটা বাক্সের মত। বাক্সে যেমন অনেক কিছু রাখা যাই তেমনি ভ্যারিয়েবলে বিভিন্ন ধরণের ভ্যালু রাখা যাই। ভ্যারিয়েবল এর মাঝখানে সমান(=) চিহ্ন ব্যবহার করা হয়। ভ্যারিয়েবল এর বাম পাশে থাকে ভ্যারিয়েবল এর নাম আর ডান পাশে থাকে ভ্যারিয়েবল এর ভ্যালু। এই ভ্যালু গুলো ডিভাইস মেমোরিতে সেভ থাকে।প্রতিটি ভ্যারিয়েবল এর মেমোরি লোকেশন বা আড্রেস ভিন্ন ভিন্ন থাকে।যেহেতু পাইথন কেস সেনসিটিভ সেহেতু পাইথনের ভ্যারিয়েবল ও কেচ সেনসিটিভ অথ্যাৎ পাইথনে বড় হাতের A আর ছোট হাতের a এক জিনিস নয়, দুইটাই একেবারে ভিন্ন জিনিস। ভ্যারিয়েবল নাম লেখার সময় খেয়াল রাখতে হবে যেন নামটি ভ্যারিয়েবল এর ভ্যালুর সাথে মিল থাকে। এতে আমরা যখন অনেক দিন পর পাইথন কোড গুলো দেখবো তখন খুব সহজেই বুঝতে পারবো অথবা আমাদের লেখা পাইথন কোড গুলো যখন অন্য কোন প্রোগ্রামার পড়বে তখন খুব সহজেই বুঝতে পারবে ভ্যারিয়েবলে কোন মান বা ভ্যালুটা কি জন্য রাখছি। নিচে কিছু উদাহরণ দেওয়া হল:
আপনাদের সুবিধার জন্য নিচে কোড গুলো দিয়ে দিয়া হল:
print("Our new student name is Shamim")
print("Shamim lives in Dhaka")
print("He is 24 years old")
print("At the age of 24 years, He his started to learn python.")
print("Shamim have SSC gpa in 4")
উপরের এই প্রোগ্রাম টি কোন রকম ভ্যারিয়েবল ব্যবহার ছাড়াই আমরা করেছি এবং নিচে এর আউটপুট দেখবো।
আউটপুটে আমরা দেখতে পারছি ঠিকঠাক মতই আউটপুট দিচ্ছে প্রোগ্রাম টি। এখন যদি আমাদের প্রয়োজন হয় ছাত্রের নাম, বয়স এবং জিপিএ পরিবর্তন করার তাহলে অনেক স্থান থেকেই পরিবর্তন করা লাগবে যা অনেক সময় সাপেক্ষ এবং বিরক্ত কর। যদি আমরা ভ্যারিয়েবল ব্যবহার করতাম তাহলে এত সময় এর প্রয়োজন হতো না।
এখন এই একই কাজটি আমরা ভ্যারিয়েবল ব্যবহার করে করবো।
আপনাদের সুবিধার জন্য কোড গুলো নিচে দেওয়া হল:
name="Shamim"
age=24
gpa=4
print("Our new student name is " +name)
print(name + " lives in Dhaka")
print("He is" ,age, "years old")
print("At the age of ",age," years, He his started to learn python.")
print(name + " have SSC gpa in",gpa)
এখন আমরা কোড গুলো পাইথন শেলে লেখবো এবং রান করবো। রান করার পর নিচের মত আউটপুট দেখতে পাবো।
উপরের প্রোগ্রাম এর দশ নাম্বার লাইনে name+ ব্যবহার করা হয়েছে কারণ স্ট্রিং এর সাথে স্টিং জোড়া দেওয়ার জন্য প্লাস(+) ব্যবহার করা হয়। আর চোদ্দ নাম্বার লাইনে age এর আগে এবং পরে কমা(,) ব্যবহার করা হয়েছে কারন এখানে আমরা স্ট্রিং এর সাথে ইন্টিজার মান জোড়া দিছি।
এখন যদি আমরা চাই এই প্রোগ্রামে নতুন ছাত্রের ইনফরমেশন যোগ করতে তাহলে সেটা এক নিমিষেই করে দিতে পারবো। ঠিক নিচের মতো করে।
আপনাদের সুবিধার জন্য নিচে কোডগুলো দেওয়া হল:
name="Minhajul"
age=18
gpa=5
print("Our new student name is " +name)
print(name + " lives in Dhaka")
print("He is" ,age, "years old")
print("At the age of ",age," years, He his started to learn python.")
print(name + " have SSC gpa in",gpa)
এখন প্রোগ্রাম টি রান করলে নিচের মত আউটপুট দেখতে পাইবো।
একটা ভ্যারিয়েবল A থেকে Z পর্যন্ত যেকোনো বড় হাতের অক্ষর অথবা a থেকে z পর্যন্ত যেকোনো ছোট হাতের অক্ষর অথবা আন্ডারস্কোর চিহ্ন (_) দিয়ে শুরু হতে পারবে। এর পরে যেকোনো লেটার, ডিজিট (0 থেকে 9 পর্যন্ত ) বা আন্ডারস্কোর ব্যবহার করা যাবে কিন্তু ভ্যারিয়েবল এর নামের শুরুতে কোন সংখ্যা বা ডিজিট ব্যবহার করা যাবে না। আবার @ বা $ বা % এর মত কিছু চিহ্ন ব্যবহার করা যাবে না। এছাড়াও পাইথনের রিজার্ভড কি-ওয়ার্ড গুলো ব্যবহার করা যাবে না।নিচে কিছু পাইথনের রিজার্ভড কি-ওয়ার্ড দেওয়া হল:
এই কি-ওয়ার্ডগুলো আমাদের মুখস্থ করার প্রয়োজন নেই,বারবার চর্চা করার মাধ্যমে এমনিতেই আমাদের ব্রেনে স্থায়ী হয়ে যাবে।
ডেটা টাইপ(Data Type):
পাইথনে ভ্যারিয়েবল ব্যবহার করার আগে তা ডিক্লেয়ার করতে হয় না বা ভ্যারিয়েবল এর টাইপ বলে দিতে হয় না। পাইথন নিজে নিজেই বুঝতে পারে কোনটা কোন টাইপের ডেটা। আমরা জানি পাইথন অপজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাংগুয়েজ তাই এর প্রত্যেকটা ভ্যারিয়েবলই এক একটা অবজেক্ট। পাইথনে প্রধানত তিন টাইপের ডাটা রয়েছে যেমন: ১।নিউমেরিক (Numeric), ২।সিকুয়েন্স (sequence), ৩।ডিকশনারি (Dictionary)। এখানে নিউমেরিক (Numeric) এর মধ্যে রয়েছে ইন্টিজার (int), ফ্লোট (float),বুলিয়ান (bool),কমপ্লেক্স (complex) এবং সিকুয়েন্স এর মধ্যে অনেক ধরণের ডাটা টাইপ আছে তার মধ্যে বেশি ব্যবহার করা হয় স্ট্রিং (string), টাপল(Touple),সেট (set), রেঞ্জ (range) ইত্যাদি। এখন আমরা পাইথনের কমন ডাটা টাইপ গুলো দেখবো।
ইন্টিজার (int):
int দিয়ে ইন্টিজার (integer) টাইপের ভ্যারিয়েবল বোঝায়। ইন্টিজার মানে পূর্ণ সংখ্যা।যে সংখ্যা গুলোতে দশমিক থাকে না সে সংখ্যা গুলোই ইন্টিজার(integer) সংখ্যা। যেমন:১,৫,৫০,১০০,১১০ ইত্যাদি।
ফ্লোট (float):
float দিয়ে ফ্লোট টাইপের ভ্যারিয়েবল বোঝায়। ফ্লোট মানে দশমিক বা ভগ্নাংশ টাইপ সংখ্যা। যেমন:১৩.১৪১৬,২৬.২২,১২.১২ ইত্যাদি।
স্ট্রিং (str):
str দিয়ে স্ট্রিং (string) টাইপের ভ্যারিয়েবল বোঝায়। স্ট্রিং হলো কোন টেক্সট বা লেখা বা কোন ওয়ার্ড।এক কথায় বলতে গেলে সিঙ্গেল কোটেশন (') বা ডবোল কোটেশন (") এর ভিতর যাই থাকে তাকেই স্ট্রিং বলে।
বুলিয়ান (bool):
bool দিয়ে বুলিয়ান টাইপের ভ্যারিয়েবল বোঝায়। এটা একটা দারুণ জিনিস। বুলিয়ান টাইপের ভ্যারিয়েবল এর মান True অথবা False হয়। তাই বলা যাই বুলিয়ান টাইপের ভ্যারিয়েবল দিয়ে সত্য-মিথ্যা প্রকাশ করা হয়।
নিচে আমরা কিছু উদাহরণ দেখবো তাহলে ডাটা টাইপ বিষয়ে আমাদের ধারণা ক্লিয়ার হয়ে যাবে। এগুলো শুধু আমরা দেখবোই না বারবার চর্চা করবো কারণ চর্চা না করলে ভালো প্রোগ্রামার হওয়া যায় না।
চলুন এবার এদের কয়েকটা উদাহরণ দেখা যাক।
প্রথমেই আমরা Pydroid3 App যাবো এরপর Terminal এ যাবো এবং টাইপ করবো python তারপর কিবোর্ড এর ইন্টার বাটনে ক্লিক করবো তখন Terminal পাইথন open হয়ে যাবে এবং নিচের মত লেখবো।
উপরের ছবিতে আমরা দেখতে পারছি কোনটা কোন টাইপের ডেটা।
ডেটা ইনপুট:
আমরা তো এতক্ষণ অনেক গুলো পাইথন প্রোগ্রাম এর উদাহরণ দেখলাম, এখন দেখবো ইউজার বা ব্যবহারকারীর কাছ থেকে কিভাবে বিভিন্ন ডেটা ইনপুট নিয়ে সেটা ভ্যারিয়েবল এ রাখা যায়। নিচে কিছু উদাহরণ দেওয়া হল:
এখানে সবগুলো ডেটাই আমরা স্টিং এ পাবো। পরবর্তীতে আমরা দেখবো টাইপ কাস্টিং করে কিভাবে এক টাইপের ডেটা অন্য টাইপে কনভার্ট করা যায়।
আপনাদের সুবিধার জন্য কোড গুলো নিচে দেওয়া হল:
name = input ("Enter Your Name:")
age = input("Enter Your Age:")
gpa = input("Enter Your Gpa:")
print("Our new student name is " +name)
print(name + " lives in Dhaka")
print("He is" ,age, "years old")
print("At the age of ",age," years, He his started to learn python.")
print(name + " have SSC gpa in",gpa)
প্রোগ্রাম টি রান করার পরই আমরা দেখতে পাইবো Enter Your Name : এই লেখাটা স্কিনে দেখাইতেছে
তখন ইচ্ছা মত একটি নাম দিয়ে কিবোর্ড এর ইন্টার বাটনে ক্লিক করবো,তারপর আসবে Enter Your Age : এখানে বয়স দিবো এবং কিবোর্ড এর ইন্টার বাটনে ক্লিক করবো সর্বশেষ আসবে Enter Your Gpa : এখানে জিপিএ দিয়ে কিবোর্ড এর ইন্টার বাটনে ক্লিক করবো তাহলে নিচের মত আউটপুট দেখতে পাইবো।
আজকের মত এই পর্যন্ত আবার নতুন পার্ট নিয়ে আপনাদের মাঝে হাজির হব সে পর্যন্ত আপনারা সবাই ভালো থাকবেন এবং সুস্থ থাকবেন।আর আপনাদের কোথাও বুঝতে অসুবিধা হলে নিচে কমেন্ট বক্স এ কমেন্ট করে জানাবেন যথাযথ সমাধান দেওয়ার চেষ্টা করবো।