Python รูปแบบและวัตถุ
- পূর্ববর্তী পৃষ্ঠা Python แบบตัวเลข
- পরবর্তী পৃষ্ঠা 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
- পূর্ববর্তী পৃষ্ঠা Python แบบตัวเลข
- পরবর্তী পৃষ্ঠা Python การสืบทอด