মডিউল পাঠ (1/4)
ক্লাস এবং উদাহরণ
একটি শ্রেণি হল এমন একটি ব্লুপ্রিন্ট যা ডেটা (গুণাবলী) আছে এমন বস্তু তৈরি করার জন্য। এবং আচরণ (পদ্ধতি)। একটি উদাহরণ হল একটি কংক্রিট বস্তু যা থেকে তৈরি ক্লাস
ন্যূনতম বাক্য গঠন
class Cane:
def __init__(self, nome, eta):
self.nome = nome
self.eta = eta
def abbaia(self):
return f"{self.nome} dice WOOF!"
# creazione di istanze
fido = Cane("Fido", 3)
luna = Cane("Luna", 5)
fido.nome # 'Fido'
fido.abbaia() # 'Fido dice WOOF!'__init__: "নির্মাতা"
আপনি যখন একটি তৈরি করেন তখন __init__ পদ্ধতিটিকে স্বয়ংক্রিয়ভাবে বলা হয়
উদাহরণ (Cane("Fido", 3))। এটি বৈশিষ্ট্যগুলি শুরু করতে ব্যবহৃত হয়।
প্রযুক্তিগতভাবে এটি একটি কনস্ট্রাক্টর নয় (অবজেক্টটি ইতিমধ্যে তৈরি করা হয়েছে
__new__), কিন্তু এটি সেই জায়গা যেখানে আপনি প্রাথমিক অবস্থা সেট করেছেন৷
self: প্রথম প্যারামিটার
self হল সেই উদাহরণের রেফারেন্স যেখানে পদ্ধতিটি কল করা হয়েছিল৷ এটি একটি
কনভেনশন (কীওয়ার্ড নয়) এবং এটি উদাহরণের সর্বদা প্রথম প্যারামিটার
পদ্ধতি
fido.abbaia()
# equivalente a Cane.abbaia(fido)
# Python passa fido come self automaticamenteউদাহরণ বনাম ক্লাস বৈশিষ্ট্য
class Cane:
specie = "Canis familiaris" # attributo di CLASSE (condiviso)
def __init__(self, nome):
self.nome = nome # attributo di ISTANZA (per ognuno)
fido = Cane("Fido")
luna = Cane("Luna")
fido.nome # 'Fido' (istanza)
luna.nome # 'Luna' (istanza)
fido.specie # 'Canis familiaris' (cercato sulla classe)
Cane.specie # 'Canis familiaris'একাধিক পদ্ধতি এবং রাষ্ট্র
class Contatore:
def __init__(self, inizio=0):
self.valore = inizio
def incrementa(self, di=1):
self.valore += di
def reset(self):
self.valore = 0
c = Contatore()
c.incrementa()
c.incrementa(di=5)
c.valore # 6
c.reset()
c.valore # 0তোমার পালা
__init__(self, x, y) সহ একটি শ্রেণী `পয়েন্ট` সংজ্ঞায়িত করুন যা গুণাবলী সংরক্ষণ করে। একটি পদ্ধতি যোগ করুন `distance_from_origin` যা x^2 + y^2 এর বর্গমূল প্রদান করে। `p = পয়েন্ট(3, 4)` তৈরি করুন এবং `p.distance_from_origin()` মূল্যায়ন করুন।
ইঙ্গিত দেখান
math.sqrt(self.x ** 2 + self.y ** 2)
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম পর্যালোচনা করুন
__init__(self, balance=0) এর সাথে `BankAccount` সংজ্ঞায়িত করুন এবং `deposit(amount)`, `withdraw(amount)` যেগুলো self.balance পরিবর্তন করে। `a = BankAccount(100)` তৈরি করুন, 50 জমা করুন, 30 উত্তোলন করুন। `a.balance` মূল্যায়ন করুন।
ইঙ্গিত দেখান
self.balance += আমানতের পরিমাণ।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অতিরিক্ত চ্যালেঞ্জ
Define a class `Rectangle` with a constructor `__init__(self, width, height)` to set width and height, and a method `area(self)` that returns the product of width and height. Instantiate a rectangle with width `4` and height `5` storing it in `rect`, and evaluate `rect.area()`.
ইঙ্গিত দেখান
এলাকা (স্ব) এর ভিতরের বৈশিষ্ট্যগুলি অ্যাক্সেস করতে স্ব ব্যবহার করতে ভুলবেন না।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ