Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฉันจะตรวจสอบว่าแอตทริบิวต์ของคลาสถูกกำหนดหรือได้รับในคลาสที่กำหนดใน Python ได้อย่างไร


โค้ดด้านล่างแสดงให้เห็นว่าแอตทริบิวต์ 'foo' ถูกกำหนดหรือได้รับในคลาส A และ B หรือไม่

ตัวอย่าง

class A:
    foo = 1
class B(A):
    pass
print A.__dict__
#We see that the attribute foo is there in __dict__ of class A. So foo is defined in class A.
print hasattr(A, 'foo')
#We see that class A has the attribute but it is defined.
print B.__dict__
#We see that the attribute foo is not there in __dict__ of class B. So foo is not defined in class B
print hasattr(B, 'foo')
#We see that class B has the attribute but it is derived

ผลลัพธ์

{'__module__': '__main__', 'foo': 1, '__doc__': None}
True
{'__module__': '__main__', '__doc__': None}
True