Python รูปแบบและวัตถุ

Python ชั้น/ตัวอย่าง

Python คือภาษาแปรรูปที่มุ่งเน้นตัวอย่าง

เกือบทุกอย่างใน Python จะเป็นตัวอย่าง มีคุณสมบัติและวิธี

ชั้น (Class) คล้ายกับฟังก์ชันอนุรักษ์ตัวอย่าง หรือเป็น "แบบ" สำหรับสร้างตัวอย่าง

สร้างชั้น

เพื่อสร้างชั้น ใช้ class คำเปิดตัว:

ইনস্ট্যান্স

ใช้คุณสมบัติชื่อ x ในการสร้างชั้นชื่อ MyClass

class MyClass:
  x = 5

ইনস্ট্যান্স চালু করুন

สร้างตัวแปร

ตอนนี้เราสามารถใช้ชั้นชื่อ myClass ในการสร้างตัวแปร

ইনস্ট্যান্স

สร้างตัวแปรชื่อ p1 และแสดงค่าของ x

p1 = MyClass()
print(p1.x)

ইনস্ট্যান্স চালু করুন

__init__() ฟังก์ชัน

ตัวอย่างที่แสดงในบนนี้เป็นรูปแบบของชั้นและตัวแปรที่เรียบง่ายที่สุด แต่ไม่มีประโยชน์มากในโปรแกรมที่มีจริง

เพื่อเข้าใจความหมายของชั้น เราจำเป็นต้องเข้าใจตัวแปรที่ฝั่งด้านภายใน __init__() ฟังก์ชัน

ทุกชั้นมีฟังก์ชัน __init__() ซึ่งทำงานทันทีที่เริ่มทำชั้น

ใช้ฟังก์ชัน __init__() ในการกำหนดค่าแก่คุณสมบัติของตัวแปร หรือทำงานอื่นๆ ที่ต้องทำเมื่อสร้างตัวแปร

ইনস্ট্যান্স

สร้างชั้นชื่อ Person และกำหนดค่าแก่ name และ age ด้วยฟังก์ชัน __init__():

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
p1 = Person("Bill", 63)
print(p1.name)
print(p1.age)

ইনস্ট্যান্স চালু করুন

หมายเหตุ:ในแต่ละครั้งที่ใช้ชั้นเพื่อสร้างตัวอย่างใหม่เรียกโดยอัตโนมัติ __init__() ฟังก์ชัน

วิธีตัวแปร

ตัวแปรยังสามารถมีวิธีด้วย

ให้เราสร้างวิธีในชั้น Person

ইনস্ট্যান্স

ใส่ฟังก์ชันที่แสดงข้อความต้อนรับ และปฏิบัติต่อตัวแปร p1

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
  def myfunc(self):
    print("Hello my name is " + self.name)
p1 = Person("Bill", 63)
p1.myfunc()

ইনস্ট্যান্স চালু করুন

คำเตือน:self โปรแบบคือเรียกใช้สำหรับตัวอย่างปัจจุบันของชั้นนี้ ในการเข้าถึงตัวแปรที่เป็นของชั้นนี้。

self পারামিটার

self পারামিটার হল শ্রেণীর বর্তমান ইনস্ট্যান্সের পারামিটার, যা শ্রেণীর বৈশিষ্ট্য পরিবর্তন করার জন্য ব্যবহৃত হয়。

এটা নামকরণ করা হতে পারে না selfএবং আপনি কোনও কারণে এটা কোনও শ্রেণীর কোনও ফাংশনের নাম হিসাবে আহ্বান করতে পারেন, কিন্তু তা শ্রেণীর কোনও ফাংশনের নাম হিসাবে হতে হবে:প্রথম পারামিটার:

ইনস্ট্যান্স

mysillyobject এবং abc বিন্যাসকে self ব্যবহার করে:

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age
  def myfunc(abc):
    print("Hello my name is " + abc.name)
p1 = Person("Bill", 63)
p1.myfunc()

ইনস্ট্যান্স চালু করুন

অবজেক্ট বৈশিষ্ট্য সংশোধন

এইভাবে অবজেক্টের বৈশিষ্ট্য সংশোধন করতে পারেন:

ইনস্ট্যান্স

p1-এর বয়স 40 হতে পারে:

p1.age = 40

ইনস্ট্যান্স চালু করুন

অবজেক্ট বৈশিষ্ট্য মুছে দিন

আপনি ব্যবহার করতে পারেন: del কীভাবে অবজেক্টের বৈশিষ্ট্য মুছে দিতে হয়:

ইনস্ট্যান্স

p1 অবজেক্টের age বৈশিষ্ট্য মুছে দিন:

del p1.age

ইনস্ট্যান্স চালু করুন

অবজেক্ট মুছে দিন

ব্যবহার del কীভাবে অবজেক্ট মুছে দিতে হয়:

ইনস্ট্যান্স

p1 অবজেক্ট মুছে দিন:

del p1

ইনস্ট্যান্স চালু করুন

pass বিন্যাস

শ্রেণীর নির্দিষ্টকরণ হতে পারে না, কিন্তু আপনি কোনও কারণে শুধুমাত্র কার্যহীন শ্রেণীর নির্দিষ্টকরণ লিখেছেন তবে, pass বিন্যাস ব্যবহার করে ত্রুটি এড়ানো যেতে পারে。

ইনস্ট্যান্স

class Person:
  pass

ইনস্ট্যান্স চালু করুন