কম্পিউটার

পাইথনে বৈশিষ্ট্য এবং পদ্ধতি অ্যাক্সেস করা


অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসাবে পাইথন অবজেক্টের উপর জোর দেয়। শ্রেণী হল ব্লুপ্রিন্ট যা থেকে বস্তুগুলি তৈরি করা হয়। পাইথনের প্রতিটি ক্লাসে একটি বৈশিষ্ট্য হিসাবে একটি ফাংশন সহ অনেকগুলি বৈশিষ্ট্য থাকতে পারে।

একটি ক্লাসের বৈশিষ্ট্যগুলি অ্যাক্সেস করা

একটি ক্লাসের বৈশিষ্ট্যগুলি পরীক্ষা করতে এবং সেই বৈশিষ্ট্যগুলিকে ম্যানিপুলেট করার জন্য, আমরা নীচে দেখানো হিসাবে অনেকগুলি পাইথন-ইন-বিল্ট পদ্ধতি ব্যবহার করি৷

  • getattr() − একটি ক্লাসের অ্যাট্রিবিউট অ্যাক্সেস করতে ব্যবহৃত একটি পাইথন পদ্ধতি।

  • হসত্তর() − একটি পাইথন পদ্ধতি যা একটি ক্লাসে একটি বৈশিষ্ট্যের উপস্থিতি যাচাই করতে ব্যবহৃত হয়৷

  • setattr() − একটি ক্লাসে একটি অতিরিক্ত বৈশিষ্ট্য সেট করতে ব্যবহৃত একটি পাইথন পদ্ধতি৷

নীচের প্রোগ্রামটি পাইথনে ক্লাস অ্যাট্রিবিউট অ্যাক্সেস করার জন্য উপরের পদ্ধতিগুলির ব্যবহারকে চিত্রিত করে৷

উদাহরণ

class StateInfo:
   StateName='Telangana'
   population='3.5 crore'

   def func1(self):
      print("Hello from my function")

print getattr(StateInfo,'StateName')

# returns true if object has attribute
print hasattr(StateInfo,'population')

setattr(StateInfo,'ForestCover',39)

print getattr(StateInfo,'ForestCover')

print hasattr(StateInfo,'func1')

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

Telangana
True
39
True

একটি ক্লাসের পদ্ধতি অ্যাক্সেস করা

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

উদাহরণ

class StateInfo:
   StateName='Telangana'
   population='3.5 crore'

   def func1(self):
      print("Hello from my function")

print getattr(StateInfo,'StateName')

# returns true if object has attribute
print hasattr(StateInfo,'population')

setattr(StateInfo,'ForestCover',39)

print getattr(StateInfo,'ForestCover')

print hasattr(StateInfo,'func1')

obj = StateInfo()
obj.func1()

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

আমার ফাংশন থেকে
Telangana
True
39
True
Hello from my function

একটি ক্লাস থেকে অন্য ক্লাসের পদ্ধতি অ্যাক্সেস করা

একটি ক্লাস থেকে অন্য ক্লাসের পদ্ধতি অ্যাক্সেস করতে, আমাদের কলিং ক্লাসে কল করা ক্লাসের একটি উদাহরণ পাস করতে হবে। নীচের উদাহরণটি দেখায় কিভাবে এটি করা হয়৷

উদাহরণ

class ClassOne:
def m_class1(self):
print "Method in class 1"

# Definign the calling Class
class ClassTwo(object):
def __init__(self, c1):
self.c1 = c1

# The calling method
def m_class2(self):
Object_inst = self.c1()
Object_inst.m_class1()

# Passing classone object as an argument to classTwo
obj = ClassTwo(ClassOne)
obj.m_class2()

-এ একটি আর্গুমেন্ট হিসাবে ক্লাসোন অবজেক্ট পাস করা

আউটপুট

উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -

Method in class 1

  1. পাইথনে ক্লাস এবং উত্তরাধিকারের ভূমিকা

  2. পাইথনে অন্তর্নির্মিত শ্রেণীর বৈশিষ্ট্যগুলি কী কী?

  3. পাইথনে একটি ক্লাসের বৈশিষ্ট্যগুলি কীভাবে সংজ্ঞায়িত করবেন?

  4. পাইথন ক্লাসে স্ব এবং __init__ পদ্ধতির মধ্যে পার্থক্য কী?