Python self Parameter

পাইথন সেলফ প্যারামিটার সম্পর্কে জানুন

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() পদ্ধতিকে কল করে।

অনুশীলন করুন

পাইথন ক্লাসে স্ব প্যারামিটার কি উল্লেখ করে?

ক্লাসের নাম
✗ ভুল! self ক্লাসের নাম উল্লেখ করে না, এটি ক্লাসের বর্তমান উদাহরণকে বোঝায়
ক্লাসের বর্তমান উদাহরণের একটি রেফারেন্স
✓ ঠিক আছে! self বর্তমানে কার্যকর করা বস্তুর একটি রেফারেন্স। প্রতিটি মেথড কলে এটি স্বয়ংক্রিয়ভাবে পাইথন দ্বারা পাসওয়ার্ড হিসাবে পাস হয়
একটি বিশ্ব পরিবর্তনশীল
✗ ভুল! স্ব একটি বিশ্ব পরিবর্তনশীল নয়। এটি একটি স্থানীয় পরামিতি যা শুধুমাত্র একটি পদ্ধতির মধ্যে অ্যাক্সেস করা যেতে পারে