কম্পিউটার টিউটোরিয়াল

পাইথন ভেরিয়েবল: কীভাবে ব্যবহার করবেন

একটি পাইথন ভেরিয়েবল একটি প্রোগ্রামে একটি মান সংরক্ষণ করে। ভেরিয়েবলগুলোর দুটি অংশ রয়েছে: একটি লেবেল এবং একটি মান। এই দুটি অংশই সমান চিহ্ন (=) দিয়ে পৃথক করা হয়। আপনি লেবেলটি ব্যবহার করতে পারেন ভেরিয়েবলে অ্যাসাইন করা মানকে আপনার প্রোগ্রামে সর্বত্র রেফারেন্স করতে। ভেরিয়েবলগুলো মান পরিবর্তন করতে পারে।

ভেরিয়েবলগুলো প্রোগ্রামিং-এ এম্বেডেড থাকে। ভেরিয়েবলগুলো আপনাকে একটি প্রোগ্রামে ডেটা সংরক্ষণ করতে দেয় যা একটি নির্দিষ্ট নামের সাথে যুক্ত।

উদাহরণস্বরূপ, আপনার কাছে chocolate নামে একটি ভেরিয়েবল থাকতে পারে, যা একটি লোকাল গ্রোসারি স্টোরে বিক্রি হওয়া চকলেটের তালিকা সংরক্ষণ করে। অথবা, আপনার কাছে username নামে একটি ভেরিয়েবল থাকতে পারে, যা একটি গেমিং অ্যাপ্লিকেশনের জন্য একজন ব্যবহারকারীর নাম সংরক্ষণ করে।

এই টিউটোরিয়ালে, উদাহরণসহ, ভেরিয়েবলগুলোর বেসিকস এবং আপনি কীভাবে সেগুলো আপনার পাইথন কোডে ব্যবহার করতে পারেন তা আলোচনা করা হবে।

পাইথন ভেরিয়েবল কী?

একটি পাইথন ভেরিয়েবল হলো একটি মানের জন্য একটি ইউনিক আইডেন্টিফায়ার। একটি ভেরিয়েবলে অ্যাসাইন করা নাম সেটি ভেরিয়েবলে অ্যাসাইন করা মানকে রেফারেন্স করতে ব্যবহার করা যেতে পারে। আপনি আপনার প্রোগ্রামে যেনে যেন যেকোনোবার একটি ভেরিয়েবলের মান পরিবর্তন করতে পারেন।

এটিকে চিন্তা করার একটি উপায় হলো একটি ভেরিয়েবল হলো একটি লেবেল, যা আপনার পাইথন প্রোগ্রামে একটি নির্দিষ্ট মানের সাথে বাউন্ড থাকে।

একটি পাইথন ভেরিয়েবলের সিনট্যাক্স:

chocolate = "Hazelnut"

আমাদের ভেরিয়েবলের তিনটি অংশ রয়েছে:

  • chocolate হলো আমাদের ভেরিয়েবলের নাম।
  • = হলো অ্যাসাইনমেন্ট অপারেটর। এই অপারেটর আমাদের প্রোগ্রামকে বলে দেয় যে আমরা "chocolate" লেবেলকে একটি মান অ্যাসাইন করতে চাই।
  • "Hazelnut" হলো আমরা যে মানটি আমাদের ভেরিয়েবলে অ্যাসাইন করতে চাই। এই কেসে, মানটি একটি পাইথন স্ট্রিং অবজেক্ট। ডাবল কোটেশন স্ট্রিং ডিনোট করে। স্ট্রিংগুলো সিঙ্গেল কোটেশনের মধ্যেও ঘোষণা করা যায়।

ভেরিয়েবল টাইপগুলোর মধ্যে রয়েছে পাইথন বুলিয়ান, পাইথন ডিকশনারি, ইন্টিজার, এবং ফ্লোটিং-পয়েন্ট নম্বর।

পাইথন: ভেরিয়েবল ঘোষণা

মান লেন আমরা একটি ম্যাথ অ্যাপ বিল্ড করছি, এবং আমরা আমাদের কোডে অনেক বার ৩৬৫২ নম্বরটি ব্যবহার করতে যাচ্ছি। প্রতিবার ম্যানুয়ালি লিখার বদলে, আমরা এটা একটি ভেরিয়েবলে সংরক্ষণ করতে পারি, যেভাবে:

big_number = 3652

আমরা big_number নামে একটি ভেরিয়েবল ঘোষণা করেছি। এই ভেরিয়েবলটির মান ৩৬৫২। ফলস্বরূপ, যখন আমরা আমাদের কোডে big_number ভেরিয়েবল রেফারেন্স করি, তবে আমরা ৩৬৫২ মানটি এক্সেস করতে পারি।

আমরা একটি ভেরিয়েবল "ঘোষণা" করেছি।

এখন যেহেতু আমাদের কোডে একটি ভেরিয়েবল ঘোষণা করা রয়েছে, আমরা এটিকে আমাদের প্রোগ্রামে সর্বত্র ব্যবহার করতে পারি। তাই, যদি আমরা দেখতে চাই আমাদের ভেরিয়েবলে কী সংরক্ষিত আছে, তবে আমরা এই কোড ব্যবহার করতে পারি:

print(big_number)

পাইথন ভেরিয়েবল: স্ট্রিং উদাহরণ

ভেরিয়েবলগুলো শুধু নম্বরই সংরক্ষণ করতে পারে না, যেকোনো ডেটা টাইপ সংরক্ষণ করতে পারে। মান লেন আমরা একজন ব্যবহারকারীর ইমেইল অ্যাড্রেস একটি ভেরিয়েবলে সংরক্ষণ করতে চাই। আমরা আমাদের আগের big_number ভেরিয়েবল ঘোষণা করতে ব্যবহৃত একই পদ্ধতি ব্যবহার করে সেটি করতে পারি। এখানে একটি স্ট্রিং সংরক্ষণকারী ভেরিয়েবলের উদাহরণ:

email = "user.email@gmail.com"

আমাদের কোডে, আমরা email নামে একটি ভেরিয়েবল তৈরি করেছি যা user.email@gmail.com মানটি সংরক্ষণ করে। যদি আমরা আমাদের ভেরিয়েবলে অ্যাসাইন করা মান দেখতে চাই, তবে আমরা সেটি পাইথন কনসোলে প্রিন্ট আউট করে দেখতে পারি:

print(email)

আমাদের কোড ফেরত দেয়:

user.email@gmail.com

ভেরিয়েবল রি-অ্যাসাইন করা

আমরা এতক্ষণে ভেরিয়েবল ঘোষণা করার পদ্ধতি নিয়ে কথা বলেছি। এটি একটি ভেরিয়েবলে প্রাথমিক মান অ্যাসাইন করার প্রসেস।

ভেরিয়েবলগুলো পাইথনে পরিবর্তন করা যায়। এর মানে আপনি একবার ভেরিয়েবল ঘোষণা করার পর, আপনি সেটি যে মান সংরক্ষণ করে সেটি পরিবর্তন করতে পারেন।

একটি ভেরিয়েবলে সংরক্ষিত মান পরিবর্তন করা একটি অত্যন্ত উপযোগী ফাংশন। উদাহরণস্বরূপ, বলুন আপনি আপনার কোডে ইউজার ইনপুট রিসিভ করছেন। আপনি ডিফল্ট মানগুলো ব্যবহারকারীর ইনসার্ট করা মানগুলোতে পরিবর্তন করতে চাইতে পারেন।

নিচের ভেরিয়েবলটি নিন:

username = "lassiter202"
print(username) 

আমাদের ভেরিয়েবলটি "username" নামে। আমাদের কোড ফেরত দেয়: lassiter202। এখন, মান লেন আমরা আমাদের ইউজারের ইউজারনেম lassiter303-এ পরিবর্তন করতে চাই। আমরা নিচের কোড ব্যবহার করে সেটি করতে পারি:

username = "lassiter202"
print(username)
username = "lassiter303"
print(username) 

আমাদের কোড ফেরত দেয়: lassiter303। আমাদের প্রোগ্রামের শুরুতে, username ভেরিয়েবল lassiter202 মানটি সংরক্ষণ করে। তাই, যখন আমরা ভেরিয়েবলটি কনসোলে প্রিন্ট করতে যাই, lassiter202 মানটি ফেরত দেওয়া হয়।

আমাদের কোডে পরে, আমরা username ভেরিয়েবলটির মান lassiter303-এ রি-অ্যাসাইন করি। এটা আমাদের ভেরিয়েবলের মান পরিবর্তন করে। তাই, যখন আমরা আবার username ভেরিয়েবলটি প্রিন্ট আউট করি, lassiter303 মানটি ফেরত দেওয়া হয়, কারণ আমরা আমাদের ভেরিয়েবলকে একটি নতুন মান রি-অ্যাসাইন করেছি।

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

আমাদের উপরের কোডে, আমরা প্রতি লাইন কোডে একটি ভেরিয়েবল প্রতি একটি মান অ্যাসাইন করেছি।

যাইহোক, এক লাইন কোডে একাধিক ভেরিয়েবলে মান অ্যাসাইন করা সম্ভব। সেটা করতে, আমরা একটি টেকনিক ব্যবহার করতে পারি যেটি মাল্টিপল অ্যাসাইনমেন্ট বলা হয়।

মান লেন আমরা নিচের মানগুলো এই ভেরিয়েবলগুলোতে অ্যাসাইন করতে চাই:

  • espresso ২.১০-এর সমান হওয়া উচিত।
  • latte ২.৭৫-এর সমান হওয়া উচিত।
  • cappuccino ২.৬০-এর সমান হওয়া উচিত।

আমরা নিচের কোড ব্যবহার করে এই মানগুলো তাদের সংশ্লিষ্ট ভেরিয়েবলগুলোর সাথে অ্যাসাইন করতে পারি:

espresso, latte, cappuccino = 2.10, 2.75, 2.60
print(espresso)
print(latte)
print(cappuccino) 

আমাদের কোড ফেরত দেয়:

2.10
2.75
2.60

আমরা আমাদের তিনটি ভেরিয়েবলকে এক লাইনে মান অ্যাসাইন করতে পারলাম। আমরা সেটি করলাম আমাদের ভেরিয়েবলদের নাম, এবং আমরা যেসব মান তাদের অ্যাসাইন করতে চাই সেগুলো কমা দিয়ে আলাদা করে।

সদৃশভাবে, আপনি এক লাইনে একাধিক ভেরিয়েবলে একই মান অ্যাসাইন করতে পারেন।

মান লেন আমরা count1, count2, এবং count3 ভেরিয়েবলগুলোর মান ১ অ্যাসাইন করতে চাই। আমরা নিচের কোড ব্যবহার করে সেটি করতে পারি:

count1 = count2 = count3 = 1
print(count1)
print(count2)
print(count3) 

আমাদের কোড ফেরত দেয়:

1
1
1

আমাদের প্রতিটি ভেরিয়েবলকে ১ মান অ্যাসাইন করা হয়েছে।

ভেরিয়েবলগুলোর মান অ্যাসাইন করার এই পদ্ধতিগুলো উপযোগী কারণ এগুলো আপনাকে আপনার কোডের দৈর্ঘ্য কমাতে দেয়। যাইহোক, আপনাকে এই পদ্ধতিগুলো সতর্কতার সাথে ব্যবহার করা উচিত।

আপনার কোড যদি túl বেশি মাল্টিপল অ্যাসাইনমেন্ট স্টেটমেন্টের কারণে বিভ্রান্তিকর দেখায়, তবে আপনি কয়েকটি সরাতে চাইতে পারেন। এটা আপনার কাজের রিডেবিলিটি সংরক্ষণ করতে সাহায্য করবে।

আপনি যে সংখ্যক মান নির্দিষ্ট করবেন সেটি আপনি যে সংখ্যক লেবেল আইডেন্টিফাই করেছেন তার সমান হওয়া উচিত। অথবা, আপনি একাধিক লেবেল এবং একটি মান নির্দিষ্ট করবেন। আপনি উদাহরণস্বরূপ, দুটি লেবেল এবং সাতটি মান নির্দিষ্ট করবেন না। পাইথন বুঝতে পারবে না কোনো মান কোনো লেবেলে অ্যাসাইন করা উচিত।

একটি পাইথন ভেরিয়েবল ডিলিট করা

একটি পরিস্থিতি হতে পারে যেখানে আপনি পাইথনে একটি ভেরিয়েবল ডিলিট করতে চান।

এটা করতে, আপনি পাইথন del স্টেটমেন্ট ব্যবহার করতে পারেন। del কীওয়ার্ড আপনাকে পাইথনে অবজেক্ট ডিলিট করতে দেয়, যেমন তালিকা, তালিকার আইটেম, এবং ভেরিয়েবল।

মান লেন আমাদের কাছে username নামে একটি ভেরিয়েবল রয়েছে যা আমরা ডিলিট করতে চাই। আমরা নিচের কোড ব্যবহার করে ভেরিয়েবলটি ডিলিট করতে পারি:

username = "linda101"
del username
print(username) 

আমাদের কোড ফেরত দেয়:

NameError: name 'username' is not defined

আমাদের কোড একটি এরর ফেরত দেয় যখন আমরা username ভেরিয়েবলটির মান প্রিন্ট আউট করার চেষ্টা করি। এর কারণ আমরা del কীওয়ার্ড ব্যবহার করে আমাদের ভেরিয়েবলটি ডিলিট করেছি। যেনে যেন del username এক্সিকিউট হয়, আমাদের ভেরিয়েবলটি ডিলিট হয়ে যায় এবং আমাদের কোডে আর কোনো মান সংরক্ষণ করে না।

পাইথন ভেরিয়েবル কীভাবে নামকরণ করবেন

প্রতিটি প্রোগ্রামিং ভাষার নিজস্ব ভেরিয়েবল নামকরণের সেরা অনুশীলন রয়েছে।

স্টাইল রুলস

পাইথনে ভেরিয়েবল নামকরণের সময় আপনাকে মাথায় রাখা যেনো মূল নিয়মগুলো নিচে:

  • সেগুলো শুধু নম্বর, লেটার, এবং আন্ডারস্কোর ক্যারেক্টার ধারণ করা উচিত।
  • ভেরিয়েবলগুলো নম্বর দিয়ে শুরু করতে পারবে না।
  • সেগুলো স্পেস অন্তর্ভুক্ত করতে পারবে না।

তাই, আপনি যদি একজন ব্যবহারকারীর ইমেইল অ্যাড্রেস সংরক্ষণ করেন, তবে ভেরিয়েবল নাম email বা email_address গ্রহণযোগ্য হবে। যাইহোক, ভেরিয়েবল নাম email address বা &email_address কাজ করবে না।

ভেরিয়েবল স্টাইল

পাইথনে, কয়েকটি স্টাইল রুল রয়েছে যা আপনাকে মাথায় রাখা উচিত। এগুলো হলো:

  • ভেরিয়েবলগুলো বড় হাতের অক্ষর দিয়ে শুরু করা উচিত নয়।
  • ক্যামেল কেস ব্যবহার করা প্রিফার্ড নয়। বরং, শব্দগুলোক আন্ডারস্কোর দিয়ে আলাদা করা ব্যবহৃত হয়।

তাই, ভেরিয়েবল EmailAddress সেরা অনুশীলন হিসেবে বিবেচিত হয় না, কারণ ভেরিয়েবলটি একটি বড় হাতের ক্যারেক্টার দিয়ে শুরু হয়। টেকনিক্যালি, এই ভেরিয়েবল নামটি বৈধ, কিন্তু অধিকাংশ ডেভেলপার তাদের ভেরিয়েবল নাম ছোট হাতের ক্যারেক্টার দিয়ে শুরু করার পছন্দ করেন।

ভেরিয়েবল emailAddress, যেটিও এখনো বৈধ, সেটিও প্রিফার্ড নয়। এর কারণ ভেরিয়েবলটি ক্যামেল কেস ব্যবহার করে (দ্বিতীয় শব্দ বড় হাতের অক্ষর দিয়ে শুরু হয়)। আমাদের ভেরিয়েবলটি আন্ডারস্কোর ব্যবহার করে ভেরিয়েবলের প্রতিটি শব্দ আলাদা করে না।

কেস সেনসিটিভিটি

এটাও মেনে চলা ভালো যে ভেরিয়েবলগুলো পাইথনে কেস-সেনসিটিভ। উদাহরণস্বরূপ, ভেরিয়েবল email_address এবং emailAddress দুটি ভিন্ন মান হিসেবে বিবেচিত হবে, কারণ দুটি ভেরিয়েবল ভিন্ন কেস ব্যবহার করে। যাইহোক, আপনাকে সতর্কতার পক্ষেই থাকা উচিত এবং একে অপরের সাথে খুব সাদৃশ্যপূর্ণ ভেরিয়েবল লিখতে এড়ানো উচিত, অন্যথায় আপনি সেগুলো বিভ্রান্ত হতে পারেন।

সঠিক নাম নির্বাচন

উপরের নিয়মগুলো মেনে চলা অনুমান করলে, আপনার ভেরিয়েবল নাম পাইথনে গ্রহণযোগ্য হবে। যাইহোক, আপনাকে এখনও নিশ্চিত করতে হবে যে আপনি একটি ভেরিয়েবলের জন্য সঠিক নাম বেছে নিচ্ছেন। আপনি যে নামটি বেছে নেবেন সেটি বুঝতে সহজ হওয়া উচিত এবং ভেরিয়েবলের উদ্দেশ্য রিফ্লেক্ট করা উচিত।

আপনি যদি একজন ব্যবহারকারীর ইমেইল অ্যাড্রেস সংরক্ষণ করতে চান, email একটি ভালো ভেরিয়েবল নাম। user_identifier তত স্পষ্ট নয়। সকল কিছুই ব্যবহার করা যেতে পারে একজন ব্যবহারকারী আইডেন্টিফাই করতে। এটি একজন ব্যবহারকারীর ইমেইল অ্যাড্রেস সংরক্ষণ করার জন্য এত ভালো ভেরিয়েবল নাম হয় না।

উপসংহার

পাইথন ভেরিয়েবল একটি প্রোগ্রামে মান সংরক্ষণ করে। আপনি একটি ভেরিয়েবলের নাম রেফারেন্স করে তার মান এক্সেস করতে পারেন। একটি ভেরিয়েবলের মান আপনার প্রোগ্রামে সর্বত্র পরিবর্তন করা যায়। ভেরিয়েবলগুলো এই সিনট্যাক্স দিয়ে ঘোষণা করা হয়: name = value.

পাইথন ভেরিয়েবল উপযোগী কারণ এগুলো আপনাকে আপনার কোডে একই মান বারবার রিপিট করার প্রয়োজনীয়তা কমাতে দেয়।

এই টিউটোরিয়ালে আলোচনা করা হয়েছে আপনি কীভাবে ভেরিয়েবল আপনার পাইথন কোডে ব্যবহার করতে পারেন। এখন আপনি একটি পাইথন এক্সপার্টের মতো ভেরিয়েবল নিয়ে কাজ করার জন্য প্রস্তুত।

চ্যালেঞ্জ

একটি চ্যালেঞ্জ হিসেবে, নিচের অ্যাট্রিবিউট সহ একটি ভেরিয়েবল ঘোষণা করুন:

  • তার নাম হওয়া উচিত "score"।
  • তার মান হওয়া উচিত ৯।

তারপর, একটি ম্যাথ অপারেটর ব্যবহার করে "score"-এর মানকে দুই গুন করুন। আপনি কাজ শেষ হলে মানটি কনসোলে প্রিন্ট আউট করবেন।

পরবর্তীতে, চেষ্টা করুন তিনটি ভেরিয়েবল ঘোষণা করতে যাদের নাম:

  • student1grade
  • student2grade
  • student3grade

এই ভেরিয়েবলগুলো সবার মান "A" হওয়া উচিত। আপনি এই সকল ভেরিয়েবল একই লাইনে ঘোষণা করবেন কারণ সেগুলো একই মান শেয়ার করে।

শীর্ষ অনলাইন পাইথন বই, কোর্স, এবং অন্যান্য লার্নিং রিসোর্সের পরামর্শের জন্য, আমাদের সম্পূর্ণ How to Learn Python গাইড পড়ুন।

  1. পাইথন Hello World: হাউ-টু গাইড

  2. পাইথন কন্টেক্সট ভেরিয়েবলস (Context Variables)

  3. পাইথনে প্রাইভেট ভেরিয়েবল (Private Variables)

  4. পাইথনে ভেরিয়েবলের নাম স্ট্রিং আকারে পাওয়া