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

Understand Global Variables Scope Python



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

উদাহরণ -1: একটি গ্লোবাল ভেরিয়েবলের সহজ ব্যবহার

নিচের উদাহরণ ফাংশনের ভিতরে এবং ফাংশনের বাইরে একটি গ্লোবাল ভেরিয়েবলের সহজ ব্যবহার দেখায়। এখানে, একটি গ্লোবাল ভেরিয়েবল নামে পাঠ্য একটি স্ট্রিং ডেটা বরাদ্দ করতে ব্যবহৃত হয়। নামের একটি কাস্টম ফাংশন প্রিন্ট মেসেজ () গ্লোবাল ভেরিয়েবলের মান প্রিন্ট করার জন্য সংজ্ঞায়িত করা হয়েছে। এর মান পাঠ্য মান পরিবর্তন করার পর ভেরিয়েবল ফাংশনের ভিতরে এবং ফাংশনের বাইরে মুদ্রিত হয়।







#!/usr/bin/env python3

# একটি বৈশ্বিক পরিবর্তনশীল সংজ্ঞায়িত করুন
পাঠ্য= 'LinuxHint এ স্বাগতম'

# একটি ফাংশন সংজ্ঞায়িত করুন
ডিফবার্তা প্রিন্ট করুন():

# ফাংশন থেকে গ্লোবাল ভেরিয়েবল প্রিন্ট করুন
ছাপা(ফাংশনের ভিতরে গ্লোবাল ভেরিয়েবল:n',পাঠ্য)

# ফাংশনে কল করুন
বার্তা প্রিন্ট করুন()

# গ্লোবাল ভেরিয়েবলের মান পরিবর্তন করুন
পাঠ্য= 'পাইথন প্রোগ্রামিং শিখুন'

# গ্লোবাল ভেরিয়েবলের বর্তমান মান প্রিন্ট করুন
ছাপা(ফাংশনের বাইরে গ্লোবাল ভেরিয়েবল:n',পাঠ্য)

আউটপুট:



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







উদাহরণ -২: একই নামের গ্লোবাল এবং লোকাল ভেরিয়েবলের ব্যবহার

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

#!/usr/bin/env python3

# একটি বৈশ্বিক পরিবর্তনশীল সংজ্ঞায়িত করুন
পাঠ্য= 'আমি পাইথন পছন্দ করি'

# একটি ফাংশন সংজ্ঞায়িত করুন
ডিফবার্তা প্রিন্ট করুন():
ছাপা(পাঠ্য)

পাঠ্য= 'আমি পিএইচপি পছন্দ করি'

# ফাংশনে কল করুন
বার্তা প্রিন্ট করুন()

আউটপুট:



স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে।

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

#!/usr/bin/env python3

# একটি বৈশ্বিক পরিবর্তনশীল সংজ্ঞায়িত করুন
পাঠ্য= 'আমি পাইথন পছন্দ করি'

# একটি ফাংশন সংজ্ঞায়িত করুন
ডিফবার্তা প্রিন্ট করুন():
# স্থানীয় মান কমিয়ে দিন
পাঠ্য= 'আমি পিএইচপি পছন্দ করি'
# স্থানীয় পরিবর্তনশীল, পাঠ্য মুদ্রণ করুন
ছাপা(ফাংশনের ভিতরে 'পাঠ্য' এর মান:n',পাঠ্য)

# ফাংশনে কল করুন
বার্তা প্রিন্ট করুন()

# গ্লোবাল ভেরিয়েবল, টেক্সট প্রিন্ট করুন
ছাপা('ফাংশনের বাইরে' পাঠ্যের মান:n',পাঠ্য)

আউটপুট:

স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে।

উদাহরণ-3: ফাংশনের ভিতরে গ্লোবাল ভেরিয়েবলের ব্যবহার

পূর্ববর্তী উদাহরণ দেখায় যে বৈশ্বিক পরিবর্তনশীল একটি ফাংশনের ভিতরে অ্যাক্সেসযোগ্য নয়। তুমি ব্যবহার করতে পার বিশ্বব্যাপী কোন ফাংশন থেকে একটি গ্লোবাল ভেরিয়েবল অ্যাক্সেস করার জন্য কীওয়ার্ড। নিম্নলিখিত স্ক্রিপ্টে, cal_percentage () ফাংশন সংজ্ঞায়িত করা হয়েছে যে কোন সংখ্যার শতাংশ গণনা করতে যেখানে বৈশ্বিক এবং স্থানীয় উভয় ভেরিয়েবল ব্যবহার করা হয়। এখানে, একের উপর একটি বৈশ্বিক পরিবর্তনশীল, এবং perVal একটি স্থানীয় পরিবর্তনশীল। বিশ্বব্যাপী ফাংশনের ভিতরে গ্লোবাল ভেরিয়েবল শনাক্ত করতে এখানে কীওয়ার্ড ব্যবহার করা হয় এবং ফাংশনের ভিতরে গ্লোবাল ভেরিয়েবলের মান পরিবর্তন করা হয়।

#!/usr/bin/env python3

# একটি পূর্ণসংখ্যা মান নিন
একের উপর= int(ইনপুট('একটি নম্বর লিখুন:'))

# ফাংশন সংজ্ঞায়িত করুন
ডিফcal_percentage():
# গ্লোবাল কীওয়ার্ড ব্যবহার করে গ্লোবাল ভেরিয়েবল চিনুন
বিশ্বব্যাপীএকের উপর

# শতকরা হিসাবে একটি পূর্ণসংখ্যা মান নিন
perVal= int(ইনপুট('শতাংশ মান লিখুন:'))

# শতাংশ মান গণনা করুন
ফলাফল= ভাসা((কিনা *perVal)/100)

# ফরম্যাট করা ফলাফল প্রিন্ট করুন
ছাপা(' %d = %f এর %d শতাংশ%(perVal,একের উপর,ফলাফল))

# গ্লোবাল ভেরিয়েবলের মান পরিবর্তন করুন
একের উপর= 500

# ফাংশন কল করার আগে গ্লোবাল ভেরিয়েবলের মান প্রিন্ট করুন
ছাপা('nসংখ্যা = %d 'এর মান%একের উপর)

# ফাংশনে কল করুন
cal_percentage()

# ফাংশন কল করার পর গ্লোবাল ভেরিয়েবলের মান প্রিন্ট করুন
ছাপা('nসংখ্যা = %d 'এর মান%একের উপর)

আউটপুট:

স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে। এখানে, 350 এর 10% গণনা করা হয় এবং মুদ্রিত হয়।

উদাহরণ-4: অন্য স্ক্রিপ্ট থেকে গ্লোবাল ভেরিয়েবলের ব্যবহার

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

#!/usr/bin/env python3
# এটি global5.py ফাইল

# একটি কোম্পানির মূল বেতন কাঠামো
বেসিক= 5000
চিকিৎসা= 500
পরিবহন= 500 #!/usr/bin/env python3
# এটি global6.py ফাইল

# Global5.py থেকে গ্লোবাল ভেরিয়েবল আমদানি করুন
আমদানিবিশ্বব্যাপী 5

# কর্মীর নাম নিন
নাম= ইনপুট('কর্মীর নাম লিখুন:')
# পদের নাম নিন
পোস্ট= ইনপুট('পোস্ট লিখুন:')

# ত্রুটি পরিবর্তনশীল শুরু করুন
ত্রুটি= মিথ্যা

# পোস্টটি পরীক্ষা করুন এবং পোস্টের ভিত্তিতে মূল বেতন নির্ধারণ করুন
যদি(পোস্টউপরের() == 'সিইও'):
মৌলিক=বিশ্বব্যাপী 5।বেসিক+(বিশ্বব্যাপী 5।বেসিক*0.4)
এলিফ(পোস্টউপরের() == 'ম্যানেজার'):
মৌলিক=বিশ্বব্যাপী 5।বেসিক+(বিশ্বব্যাপী 5।বেসিক*0.25)
এলিফ(পোস্টউপরের() == 'অ্যাকাউন্ট'):
মৌলিক=বিশ্বব্যাপী 5।বেসিক+(বিশ্বব্যাপী 5।বেসিক*0.15)
অন্য:
# পোস্টের মান খুঁজে না পেলে ত্রুটিকে সত্যে সেট করুন
ত্রুটি= সত্য

# ত্রুটি দেখা দিলে বেতন প্রিন্ট করুন
যদি (ত্রুটি== মিথ্যা):
বেতন=মৌলিক + বিশ্বব্যাপী 5।চিকিৎসা+ গ্লোবাল 5।পরিবহন
ছাপা(' %S এর বেতন %d'%(নাম,বেতন))
অন্য:
ছাপা('পোস্ট পাওয়া যায়নি')

আউটপুট:

স্ক্রিপ্ট চালানোর পর নিচের আউটপুট দেখা যাবে। এখানে, বৈধ পোস্ট এবং অবৈধ পোস্ট দিয়ে স্ক্রিপ্ট দুইবার চালানো হয়।

উপসংহার:

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

লেখকের ভিডিও দেখুন: এখানে