কম্পিউটার

পাইথন গ্লোবাল এবং স্থানীয় ভেরিয়েবলের জন্য গাইড

একটি ভেরিয়েবল হল প্রোগ্রামিং এর একটি গুরুত্বপূর্ণ এবং সর্বব্যাপী ধারণা। ভেরিয়েবল হল ডেটা সঞ্চয় করার পাত্র। ভেরিয়েবলগুলি ব্যবহারকারীর অনলাইন গেম ইনভেন্টরিতে ব্যবহারকারীর নাম, ইমেল ঠিকানা এবং আইটেম সহ অনেক ধরণের ডেটা সঞ্চয় করতে পারে।

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

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

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

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

এখানে একটি ভেরিয়েবল রয়েছে যা একটি গেমের জন্য ব্যবহারকারীর নাম সংরক্ষণ করে:

name = "Carlton Hernandez"

আমরা name নামে একটি ভেরিয়েবল ঘোষণা করেছি এবং এটিকে "কার্লটন হার্নান্দেজ" মান নির্ধারণ করে।

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

name = "Carlton Hernandez"
name = "Carlton Lewis Hernandez"

আমাদের কোডের প্রথম লাইনে, আমরা name-এ "কার্লটন হার্নান্দেজ" মান নির্ধারণ করেছি পরিবর্তনশীল তারপর, আমরা name-এ “কার্লটন লুইস হার্নান্দেজ” মান নির্ধারণ করেছি। পরিবর্তনশীল আপনি যখন একটি ভেরিয়েবলের জন্য একটি নতুন মান নির্ধারণ করেন, তখন প্রোগ্রামটি সাম্প্রতিক মানটিকে ওভাররাইট করে, এটিকে নতুন দিয়ে প্রতিস্থাপন করে।

81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷

গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।

পাইথন গ্লোবাল ভেরিয়েবল

পাইথনে, দুটি প্রধান ধরনের ভেরিয়েবল রয়েছে:স্থানীয় এবং বিশ্বব্যাপী।

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

পাইথনে গ্লোবাল এবং লোকাল ভেরিয়েবল

পাইথন গ্লোবাল এবং স্থানীয় ভেরিয়েবলের জন্য গাইড

একটি গ্লোবাল ভেরিয়েবল একটি প্রোগ্রাম জুড়ে অ্যাক্সেস করা যেতে পারে।

পাইথনে একটি গ্লোবাল ভেরিয়েবলের উদাহরণ এখানে দেওয়া হল:

name = "Carlton Hernandez"

একবার আমরা একটি গ্লোবাল ভেরিয়েবল ঘোষণা করলে, আমরা আমাদের কোড জুড়ে এটি ব্যবহার করতে পারি। উদাহরণস্বরূপ, আমরা একটি ফাংশন তৈরি করতে পারি যা আমাদের গ্লোবাল ভেরিয়েবল name দ্বারা ধারণ করা মানটি প্রিন্ট করে নিম্নলিখিত কোড ব্যবহার করে:

def printName():
	print(name)

printName()

আমাদের কোড রিটার্ন করে:

"Carlton Hernandez"

এখানে, আমরা printName() নামে একটি ফাংশন শুরু করেছি . এই ফাংশনটি যখন আহ্বান করা হয়, তখন name এর মান প্রিন্ট করে কনসোলে পরিবর্তনশীল। আমরা যখন ফাংশনটি চালু করি তখন উপরে এটি ঘটেছিল৷

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

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

গ্লোবাল এবং স্থানীয় ভেরিয়েবল

পাইথন গ্লোবাল এবং স্থানীয় ভেরিয়েবলের জন্য গাইড

একটি স্থানীয় পরিবর্তনশীল শুধুমাত্র একটি নির্দিষ্ট ফাংশনের মধ্যে অ্যাক্সেস করা যেতে পারে।

নিম্নলিখিত একটি প্রোগ্রামের একটি উদাহরণ যা একটি স্থানীয় পরিবর্তনশীল ব্যবহার করে:

def printName():
	name = "Georgia Anderson"
	print(name)

printName()

আমাদের কোড রিটার্ন করে:

"Georgia Anderson"

আমাদের কোডে, আমরা printName() নামে একটি ফাংশন ঘোষণা করেছি . সেই ফাংশনের মধ্যে, আমরা name নামে একটি ভেরিয়েবল সংজ্ঞায়িত করেছি . যেহেতু আমরা এই ভেরিয়েবলটিকে একটি ফাংশনের মধ্যে ঘোষণা করেছি, এটি একটি স্থানীয় পরিবর্তনশীল।

আমাদের কোডের শেষে, আমরা printName() ব্যবহার করে আমাদের ফাংশনকে কল করেছি . প্রতিক্রিয়া হিসাবে, প্রোগ্রামটি printName() নির্বাহ করেছে ফাংশন

name এই উদাহরণে ভেরিয়েবলটি printName()-এর স্থানীয় ফাংশন অতএব, আমরা আমাদের ফাংশনের বাইরে যে পরিবর্তনশীল অ্যাক্সেস করতে পারি না। আমরা যখন এই স্থানীয় name প্রিন্ট করার চেষ্টা করি তখন কী ঘটে তা এখানে যে ফাংশনটি ঘোষণা করা হয়েছে তার বাইরে পরিবর্তনশীল:

def printName():
	name = "Georgia Anderson"
	print(name)

printName()
print(name)

আমাদের কোড ফিরে আসে:

NameError: name 'name' is not defined

যে ফাংশনটিতে আমরা সেই ভেরিয়েবলটি বরাদ্দ করেছি তার বাইরে আমরা একটি স্থানীয় ভেরিয়েবল অ্যাক্সেস করতে পারি না। যখন আমরা আমাদের প্রধান প্রোগ্রামে একটি স্থানীয় ভেরিয়েবল অ্যাক্সেস করার চেষ্টা করি, তখন প্রোগ্রামটি একটি ত্রুটি ফিরিয়ে দেবে।

গ্লোবাল এবং লোকাল ভেরিয়েবল ব্যবহার করা

একটি প্রোগ্রামের জন্য স্থানীয় এবং একটি গ্লোবাল ভেরিয়েবল উভয়ের জন্য একই পরিবর্তনশীল নাম ব্যবহার করা সম্ভব। এই ধরনের পরিস্থিতিতে, স্থানীয় ভেরিয়েবল স্থানীয় সুযোগে পড়া হবে, এবং গ্লোবাল ভেরিয়েবল বিশ্বব্যাপী পরিসরে পড়া হবে।

এখানে একই নামের স্থানীয় এবং বিশ্বব্যাপী ভেরিয়েবল আছে এমন একটি প্রোগ্রামের উদাহরণ:

score = 5

def calculateScore():
	score = 10
	print("Final Score:", score)

calculateScore()
print("Initial Score:", score)

আমাদের কোড ফিরে আসে:

Final Score: 10
Initial Score: 5

প্রথমে, আমরা গ্লোবাল ভেরিয়েবল score বরাদ্দ করেছি আমাদের কোডে। তারপর, আমাদের calculateScore()-এ ফাংশন, আমরা একই নামের একটি স্থানীয় ভেরিয়েবল তৈরি করেছি।

আমাদের স্থানীয় score এর মান calculateScore()-এ পরিবর্তনশীল ফাংশন হল 10। সুতরাং, যখন আমরা আমাদের calculateScore() কল করি ফাংশন, বার্তা Final Score: 10 কনসোলে প্রিন্ট করা হয়।

যাইহোক, আমাদের calculateScore() এর বাইরে ফাংশন, score এর মান ভেরিয়েবল হল 5। কারণ আমরা score এর মান সেট করেছি বৈশ্বিক সুযোগে পরিবর্তনশীল 5। সুতরাং, যখন আমরা Initial Score: প্রিন্ট আউট করি , তারপর score এর মান পরিবর্তনশীল, প্রোগ্রামটি মান 5 প্রদর্শন করে।

একটি ফাংশনের মধ্যে গ্লোবাল ভেরিয়েবল বরাদ্দ করা

উপরের বিভাগগুলিতে, আমরা শিখেছি যে গ্লোবাল ভেরিয়েবলগুলি একটি ফাংশনের বাইরে সংজ্ঞায়িত করা হয় (অর্থাৎ, বিশ্বব্যাপী), এবং স্থানীয় ভেরিয়েবলগুলি একটি ফাংশনের ভিতরে (যেমন, স্থানীয়ভাবে) সংজ্ঞায়িত করা হয়। যাইহোক, আপনি যদি global ব্যবহার করেন একটি ফাংশনের মধ্যে একটি ভেরিয়েবলকে সংজ্ঞায়িত করার জন্য কীওয়ার্ড (অর্থাৎ, স্থানীয়ভাবে), এবং তারপরে সেই ফাংশনটি প্রোগ্রামে (বিশ্বব্যাপী) চালান, সেই ভেরিয়েবলটি একটি বিশ্বব্যাপী চলক হয়ে যাবে।

নিম্নলিখিত উদাহরণ বিবেচনা করুন:

def setName():
	global name
	name = "Bianca Peterson"

setName()
print(name)

আমাদের কোড রিটার্ন করে:

"Bianca Peterson"

আমাদের কোডে, আমরা name এর মান নির্ধারণ করেছি স্থানীয়ভাবে পরিবর্তনশীল, setName()-এর ভিতরে ফাংশন যাইহোক, যেহেতু আমরা এই ভেরিয়েবলটি সংজ্ঞায়িত করার আগে গ্লোবাল কীওয়ার্ড ব্যবহার করেছি, তাই আমরা name দেওয়ার জন্য প্রস্তুত। পরিবর্তনশীল বিশ্বব্যাপী সুযোগ। যাইহোক, name ভেরিয়েবল শুধুমাত্র পরে একটি গ্লোবাল ভেরিয়েবল হয়ে যাবে আমরা প্রোগ্রামে এই ফাংশন রান.

প্রোগ্রামটি চালানোর পরে setName() ফাংশন, যে কোনো সময় আমরা name ব্যবহার করি আমাদের প্রোগ্রামে ভেরিয়েবল, যেমনটি আমরা যখন print() চালাতাম ফাংশন, প্রোগ্রাম স্থানীয় ফাংশনে আমরা ঘোষিত মান ব্যবহার করবে। এর কারণ হল name পরিবর্তনশীল এখন একটি বিশ্ব পরিবর্তনশীল.

মনে রাখবেন কত আগে আমরা বলেছিলাম যে সরাসরি করা যাবে না একটি ফাংশন ভিতরে একটি গ্লোবাল ভেরিয়েবল পরিবর্তন? ঐটা সত্য. যাইহোক, আপনি পরোক্ষভাবে একটি ফাংশনের ভিতরে একটি গ্লোবাল ভেরিয়েবল পরিবর্তন করতে গ্লোবাল কীওয়ার্ড ব্যবহার করতে পারেন।

এখানে একটি প্রোগ্রামের একটি উদাহরণ রয়েছে যা একটি গ্লোবাল ভেরিয়েবলের মান পরিবর্তন করতে একটি ফাংশনে গ্লোবাল কীওয়ার্ড ব্যবহার করে:

name = "Bianca Peterson"

def setName():
	global name
	name = "Bianca Lucinda Peterson"

setName()
print(name)

আমাদের কোড রিটার্ন করে:

"Bianca Lucinda Peterson"

আসুন এই কোডটি ভেঙে ফেলি। প্রথমে, আমরা name নামে একটি ভেরিয়েবল ঘোষণা করেছি এবং এটি "বিয়ানকা পিটারসন" মান নির্ধারণ করে। এটি একটি বিশ্বব্যাপী পরিবর্তনশীল। তারপর, আমরা setName() নামে একটি ফাংশন ঘোষণা করি . কল করা হলে, setName() ফাংশন name এর মান পরিবর্তন করে পরিবর্তনশীল

আমরা তখন setName() কল করি ফাংশন, যা name এর মান পরিবর্তন করেছে "বিয়ানকা লুসিন্ডা পিটারসন" কে। অবশেষে, আমরা name এর মান প্রিন্ট করেছি কনসোলে গ্লোবাল ভেরিয়েবলের মান name এখন "বিয়ানকা লুসিন্ডা পিটারসন"।

সাধারণভাবে বলতে গেলে, গ্লোবাল কীওয়ার্ড কম ব্যবহার করা উচিত। প্রায়শই গ্লোবাল কীওয়ার্ড ব্যবহার করা একটি প্রোগ্রামে ভেরিয়েবলের সুযোগ বোঝা কঠিন করে তুলতে পারে।

উপসংহার

গ্লোবাল ভেরিয়েবল হল একটি ফাংশনের বাইরে ঘোষিত ভেরিয়েবল। স্থানীয় ভেরিয়েবল হল একটি ফাংশনের ভিতরে ঘোষিত ভেরিয়েবল।

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

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


  1. পাইথনে নেমস্পেস এবং স্কোপ

  2. পাইথনে বিশ্বব্যাপী এবং স্থানীয় ভেরিয়েবলের মধ্যে পার্থক্য কী?

  3. পাইথন ফাংশনে একটি গ্লোবাল ভেরিয়েবল কীভাবে ব্যবহার করবেন?

  4. ব্যাশ ভেরিয়েবল টিউটোরিয়াল – 6 ব্যবহারিক ব্যাশ গ্লোবাল এবং লোকাল ভেরিয়েবল উদাহরণ