perm_phone_msgUNDER ATTACK? S.O.S. LINE 01781669080

Top Categories

Spotlight

Aditta Chakraborty

today13 September, 2021

Sanaton + Lord Shiva Aditta

কৈলাস পর্বতে পরমাত্মা সদাশিবের পরিচয়

আমরা কম বেশি সবাই জানি কৈলাস পর্বত হচ্ছে শিবের বাসস্থান। আসলেই কি কৈলাস পর্বত শিবের বাসস্থান? পরমেশ্বর সদাশিব যখন ব্রহ্মাকে সৃষ্টির কাজ করতে আদেশ দেন তখন ব্রহ্মা প্রথমেই কয়েকজন মানসপুত্রের সৃষ্টি করলেন। কিন্তু তারা সকলেই সংসার-বৈরাগী হলেন। এতে ব্রহ্মা ক্ষেপে যান। ব্রহ্মা ক্রোধে রোদন করতে থাকেন। তার ফলে সৃষ্টি হয় [...]


Local, Global এবং Nonlocal ভেরিয়েবল | পাইথন

Python Aditta today21 May, 2021 53

Background
share close

ভেরিয়েবল নিয়ে আমরা শুরুর দিকে অনেকগুলো প্রোগ্রাম করে আসলেও ফাংশন অধ্যায়ে এসে এটি তিন রকমে ভাগ হয়ে যায়। Local, Global এবং Nonlocal ভেরিয়েবল। তবে Global ভেরিয়েবল আর global কীওয়ার্ড এই দুটি কোনোভাবেই মিশিয়ে ফেলবেন না। দুইটা দুই জিনিষ।

Local ভেরিয়েবল

ফাংশনের ভিতরে যেসব ভেরিয়েবল ডিক্লেয়ার করা হয় সেগুলো Local ভেরিয়েবল। 

def my_function():
	x = "X is the local variable."  # local variable
	print(x)


my_function()

প্রোগ্রামটি রান করালে নিচের মত আউটপুট পাওয়া যাবেঃ 

X is the local variable.

Local ভেরিয়েবলকে আপনি ফাংশনের বাহিরে থেকে কোনোভাবেই এক্সেস করতে পারবেন না। 

def my_function():
	x = "X is the local variable."  # local variable
	print(x)


my_function()
print(x)

প্রোগ্রামটি রান করালে নিচের মত আউটপুট পাওয়া যাবেঃ 

Traceback (most recent call last):
  File "local, global and nonlocal variables.py", line 9, in <module>
    print(x)
NameError: name 'x' is not defined
X is the local variable.

সপ্তম লাইনে আমরা my_function() এর x ভেরিয়েবলকে প্রিন্ট করি। কিন্তু পাইথন ইন্টারপ্রেটার NameError থ্রো করেছে এবং তাতে বলে দিয়েছে name 'x' is not defined


Global ভেরিয়েবল

ফাংশনের বাহিরে যেসব ভেরিয়েবল ডিক্লেয়ার করা হয় সেগুলো Global ভেরিয়েবল। আর Global ভেরিয়েবলকে আমরা ফাংশনের ভিতর এবং বাহির উভয় দিক থেকেই এক্সেস করতে পারি।

x = "X is the global variable"  # global variable

def my_function():
	print("Inside of the function", x)


my_function()
print("Outside of the function:", x)

প্রোগ্রামটি রান করালে নিচের মত আউটপুট পাওয়া যাবেঃ

Inside of the function X is the global variable
Outside of the function: X is the global variable

কিন্তু একই নামের ভেরিয়েবল যদি ফাংশনের ভিতরে এবং বাহিরে থাকে তাহলে সেক্ষেত্রে কি হবে? 

x = "X is the global variable"  # global variable

def my_function():
	x = 10  # local variable
	print(x)


my_function()

প্রোগ্রামটি রান করালে নিচের মত আউটপুট পাওয়া যাবেঃ 

10

একই নামের ভেরিয়েবল যদি ফাংশনের ভিতরে এবং বাহিরে থাকে মানে Local এবং Global একসাথে থাকলে ফাংশনের ভিতরে শুধুমাত্র Local ভেরিয়েবলটাই কাজ করবে, Global ভেরিয়েবল কাজ করবে না।


Nonlocal ভেরিয়েবল

নেস্টেড ফাংশনের ভিতর Nonlocal ভেরিয়েবল ব্যবহার করা হয়। এটি Local এবং Global এর কোনোটাই নয়। এই ভেরিয়েবলের জন্য রয়েছে nonlocal কীওয়ার্ড। 

x = "Global"  # global variable

def outer_function():
	x = "Local"  # local variable

	def inner_function():
		nonlocal x  # declaring x as nonlocal variable
		x = "Nonlocal"  # nonlocal variable
		print("From inner function:", x)

	print("From outer function:", x)
	inner_function()
	print("From outer function:", x)


outer_function()

প্রোগ্রামটি রান করালে নিচের মত আউটপুট পাওয়া যাবেঃ 

From outer function: Local
From inner function: Nonlocal
From outer function: Nonlocal

ভিতরের ফাংশনকে কল না করলে Local ভেরিয়েবলের মান পাওয়া যায়। কিন্তু ভিতরের ফাংশনকে কল করে ফেললে বাহিরের ফাংশন থেকেও Nonlocal ভেরিয়েবলের মান এক্সেস হয়। এইক্ষেত্রে একই নামের Local ভেরিয়েবলের মান রিপ্লেস হয়ে যায়।

Written by: Aditta

Tagged as: , , , , , , , , , , .

Rate it
Previous post
Cobra - Hack To Protect Your System

today20 May, 2021

  • 33
close

Python Aditta

আর্গুমেন্ট | পাইথন

ফাংশনের প্যারামিটার বা আর্গুমেন্ট নিয়ে কয়েকটি প্রোগ্রাম করে আসলেও এরমধ্যে কয়েক ধরণ রয়েছে। আমরা আর্গুমেন্ট নিয়ে প্রোগ্রাম করব এবং এর ধরণগুলো বুঝবো। প্রথমেই আমরা দেখবো রিক্যুয়ার্ড আর্গুমেন্ট (Required Argument)। ফাংশনে ...


Similar posts