শ্রেণীর অবজেক্ট দুটি ধরণের ক্রিয়াকলাপ সমর্থন করে: গুণাবলী উল্লেখ এবং তাত্ক্ষণিক
অ্যাট্রিবিউট রেফারেন্সগুলি পাইথনের সমস্ত অ্যাট্রিবিউট রেফারেন্সের জন্য ব্যবহৃত স্ট্যান্ডার্ড সিনট্যাক্স ব্যবহার করে: obj.name। শ্রেণীর অবজেক্ট তৈরি হওয়ার সময় বৈধ বৈশিষ্ট্যের নামগুলি সমস্ত নাম যা শ্রেণীর নামস্থানে ছিল in সুতরাং, ক্লাস সংজ্ঞাটি যদি এরকম দেখায়:
class MyClass:
"""A simple example class"""
i = 12345
def f(self):
return 'hello world'
তারপরে MyClass.i
এবং MyClass.f
যথাক্রমে একটি পূর্ণসংখ্যা এবং একটি ফাংশন অবজেক্টটি প্রদান করে বৈধ বৈশিষ্ট্য রেফারেন্স হয়। শ্রেণীর বৈশিষ্ট্যগুলিকেও বরাদ্দ করা যেতে পারে, সুতরাং আপনি MyClass.i
কার্য দ্বারা মূল্য পরিবর্তন করতে পারেন । __doc__
শ্রেণীর অন্তর্গত ডক্টরসিংকে ফিরিয়ে দেওয়া একটি বৈধ বৈশিষ্ট্যও: "একটি সাধারণ উদাহরণ শ্রেণি"।
ক্লাস ইনস্ট্যান্টেশন ফাংশন স্বরলিপি ব্যবহার করে। কেবল ভান করুন যে ক্লাস অবজেক্টটি প্যারামিটারলেস ফাংশন যা শ্রেণীর একটি নতুন উদাহরণ দেয়। উদাহরণ স্বরূপ:
x = MyClass()
ইনস্ট্যান্স অপারেশন ( "কলিং" একটি বর্গ বস্তুর) একটি খালি বস্তুর সৃষ্টি করে। অনেক ক্লাস একটি নির্দিষ্ট প্রাথমিক অবস্থায় কাস্টমাইজড দৃষ্টান্ত সহ অবজেক্ট তৈরি করতে পছন্দ করে। অতএব, একটি শ্রেণি __init__()
এই জাতীয় নামের একটি বিশেষ পদ্ধতি সংজ্ঞায়িত করতে পারে :
def __init__(self):
self.data = []
যখন কোনও শ্রেণি কোনও __init__()
পদ্ধতি সংজ্ঞায়িত করে , শ্রেণি তাত্ক্ষণিকতা স্বয়ংক্রিয়ভাবে __init__()
সদ্য-নির্মিত শ্রেণীর উদাহরণের জন্য প্রার্থনা করে। সুতরাং এই উদাহরণে, একটি নতুন, আরম্ভ করা উদাহরণটি এর মাধ্যমে পাওয়া যাবে:
x = MyClass()
অবশ্যই, __init__()
পদ্ধতিটিতে আরও বেশি নমনীয়তার জন্য যুক্তি থাকতে পারে। সেক্ষেত্রে ক্লাস ইনস্ট্যান্টেশন অপারেটরকে দেওয়া যুক্তিগুলি দেওয়া হয় __init__()
। উদাহরণ স্বরূপ,
class Complex:
def __init__(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
x = Complex(3.0, -4.5)
x.r, x.i
অফিসিয়াল ডকুমেন্টেশন থেকে নেওয়া হয়েছে যা শেষ পর্যন্ত আমাকে সবচেয়ে বেশি সহায়তা করে।
এখানে আমার উদাহরণ
class Bill():
def __init__(self,apples,figs,dates):
self.apples = apples
self.figs = figs
self.dates = dates
self.bill = apples + figs + dates
print ("Buy",self.apples,"apples", self.figs,"figs
and",self.dates,"dates.
Total fruitty bill is",self.bill," pieces of fruit :)")
আপনি যখন শ্রেণীর বিলের উদাহরণ তৈরি করেন:
purchase = Bill(5,6,7)
তুমি পাও:
> Buy 5 apples 6 figs and 7 dates. Total fruitty bill is 18 pieces of
> fruit :)
x = 'Hello'
বাইরে কিন্তু ডিআইএম রাখেন তবে? এটি কি জাভার মতো যেখানে এটি একই, বা এটি স্থির পরিবর্তনশীলের মতো হয়ে যায় যা কেবল একবার শুরু করা হয়?