The self Parameter
সেলফ প্যারামিটার হল ক্লাসের বর্তমান উদাহরণের একটি রেফারেন্স।
এটি ক্লাসের অন্তর্গত বৈশিষ্ট্য এবং পদ্ধতিগুলি অ্যাক্সেস করতে ব্যবহৃত হয়।
উদাহরণ
আপনার নিজস্ব পাইথন সার্ভার পান:
ক্লাসের বৈশিষ্ট্যগুলি অ্যাক্সেস করতে নিজেকে ব্যবহার করুন:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print("Hello, my name is " + self.name)
p1 = Person("Emil", 25)
p1.greet()
দ্রষ্টব্য:
সেলফ প্যারামিটার অবশ্যই ক্লাসের যেকোনো পদ্ধতির প্রথম প্যারামিটার হতে হবে।
Why Use self?
সেলফ ছাড়া, পাইথন জানে না আপনি কোন বস্তুর বৈশিষ্ট্যগুলি অ্যাক্সেস করতে চান:
উদাহরণ
স্ব প্যারামিটারটি নির্দিষ্ট বস্তুর সাথে পদ্ধতিটিকে আবদ্ধ করে:
class Person:
def __init__(self, name):
self.name = name
def printname(self):
print(self.name)
p1 = Person("Tobias")
p2 = Person("Linus")
p1.printname()
p2.printname()
এই উদাহরণে, p1.printname() প্রিন্ট করে "Tobias" এবং p2.printname() প্রিন্ট করে "Linus" কারণ সেলফ প্রতিটি বস্তুকে পৃথকভাবে উল্লেখ করে।
self Does Not Have to Be Named "self"
এটিকে "স্ব" নামকরণ করতে হবে না, আপনি এটিকে আপনি যা চান তা বলতে পারেন, তবে এটি অবশ্যই ক্লাসের যেকোনো পদ্ধতির প্রথম প্যারামিটার হতে হবে:
উদাহরণ
স্ব-এর পরিবর্তে myobject এবং abc ব্যবহার করুন:
class Person:
def __init__(myobject, name, age):
myobject.name = name
myobject.age = age
def greet(abc):
print("Hello, my name is " + abc.name)
p1 = Person("Emil", 36)
p1.greet()
দ্রষ্টব্য:
যদিও আপনি একটি ভিন্ন নাম ব্যবহার করতে পারেন, পাইথনে স্ব-সম্মেলনটি ব্যবহার করার জন্য এটি অত্যন্ত সুপারিশ করা হয় কারণ এটি পাইথনে ঐতিহ্যগত এবং আপনার কোডটি অন্যদের পড়ার জন্য সহজ করে তোলে।
Accessing Properties with self
আপনি স্ব ব্যবহার করে একটি শ্রেণীর যে কোনো সম্পত্তি অ্যাক্সেস করতে পারেন:
উদাহরণ
স্ব ব্যবহার করে একাধিক বৈশিষ্ট্য অ্যাক্সেস করুন:
class Car:
def __init__(self, brand, model, year):
self.brand = brand
self.model = model
self.year = year
def display_info(self):
print(f"{self.year} {self.brand} {self.model}")
car1 = Car("Toyota", "Corolla", 2020)
car1.display_info()
এই পদ্ধতিটি বিভিন্ন কার অবজেক্টের জন্য ব্র্যান্ড, মডেল এবং বছরের বৈশিষ্ট্যগুলি অ্যাক্সেস করে।
Calling Methods with self
আপনি নিজে ব্যবহার করে ক্লাসের ভিতরে অন্যান্য পদ্ধতিতেও কল করতে পারেন:
উদাহরণ
স্ব ব্যবহার করে এক পদ্ধতি থেকে অন্য পদ্ধতিতে কল করুন:
class Person:
def __init__(self, name):
self.name = name
def greet(self):
return "Hello, " + self.name
def welcome(self):
message = self.greet()
print(message + "! Welcome to our website.")
p1 = Person("Tobias")
p1.welcome()
এখানে, welcome() মেথডটি self.greet() নামক একই বস্তুর greet() পদ্ধতিকে কল করে।