แอตทริบิวต์ของอินสแตนซ์กับคลาส
แยกความแตกต่างระหว่างข้อมูลเฉพาะออบเจ็กต์กับข้อมูลที่ใช้ร่วมกันในระดับคลาส
แอตทริบิวต์ของอินสแตนซ์กับคลาส เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
บทนำ
แอตทริบิวต์ของคลาส
class Dog:
legs = 4
print(Dog.legs)
print(Dog().legs)แอตทริบิวต์ของอินสแตนซ์
class Dog:
def __init__(self, name):
self.name = name
d1 = Dog('Rex')
d2 = Dog('Buddy')
print(d1.name, d2.name)ลำดับการค้นหาแอตทริบิวต์
class C:
x = 10
c = C()
c.x = 99 # instance shadows class attr
print(c.x) # 99
print(C.x) # 10กับดักแอตทริบิวต์คลาสที่เปลี่ยนแปลงได้
class C:
items = []
C.items.append(1)
print(C().items) # [1] — shared!การแก้กับดักวัตถุที่เปลี่ยนแปลงได้
class C:
def __init__(self):
self.items = []
c1 = C(); c2 = C()
c1.items.append(1)
print(c1.items, c2.items)การตรวจสอบ __dict__
class Dog:
legs = 4
def __init__(self, name): self.name = name
d = Dog('Rex')
print(d.__dict__)
print(Dog.__dict__.keys())เมธอดคลาสในฐานะโรงงานสร้างออบเจ็กต์
class Date:
def __init__(self, y, m, d): self.y,self.m,self.d=y,m,d
@classmethod
def from_string(cls, s):
y,m,d=map(int,s.split('-'))
return cls(y,m,d)
dt=Date.from_string('2024-01-15')
print(dt.y,dt.m,dt.d)เมธอดสแตติก
class MathUtils:
@staticmethod
def add(a, b): return a + b
print(MathUtils.add(3, 4))การติดตามอินสแตนซ์ด้วยแอตทริบิวต์ของคลาส
class Widget:
count = 0
def __init__(self):
Widget.count += 1
Widget(); Widget(); Widget()
print(Widget.count)hasattr() และ vars()
class P:
def __init__(self, x): self.x = x
p = P(5)
print(hasattr(p, 'x'), hasattr(p, 'z'))
print(vars(p))ตรวจสอบอย่างรวดเร็ว
ทบทวน
เรียนต่อไป
คำถามที่พบบ่อย
บทเรียน “แอตทริบิวต์ของอินสแตนซ์กับคลาส” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แอตทริบิวต์ของอินสแตนซ์กับคลาส” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แอตทริบิวต์ของอินสแตนซ์กับคลาส”
แยกความแตกต่างระหว่างข้อมูลเฉพาะออบเจ็กต์กับข้อมูลที่ใช้ร่วมกันในระดับคลาส คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “แอตทริบิวต์ของอินสแตนซ์กับคลาส” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- คลาสและเมธอด __init__
- แอตทริบิวต์ของอินสแตนซ์กับคลาส
- เมธอดของอินสแตนซ์และ self
- เมธอดพิเศษ: __str__ และ __repr__