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

จะทราบได้อย่างไรว่าวัตถุมีคุณสมบัติใน Python?


เราสามารถใช้ฟังก์ชัน hasattr() เพื่อค้นหาว่าอ็อบเจกต์ python obj มีแอตทริบิวต์หรือคุณสมบัติบางอย่างหรือไม่

hasattr(obj, 'แอตทริบิวต์'):

หลักการของ python คือ ถ้าพร็อพเพอร์ตี้น่าจะมีอยู่ ก็แค่เรียกมันและจับมันด้วยการลอง/ยกเว้นบล็อก หากสถานที่ให้บริการนั้นไม่น่าจะอยู่ที่นั่นหรือหากคุณไม่แน่ใจ การใช้ hasattr อาจเป็นทางเลือกที่ดีกว่า

โค้ดต่อไปนี้แสดงวิธีการตรวจสอบว่าคลาส foo มีแอตทริบิวต์ 'a' หรือไม่

ตัวอย่าง

class foo:
    a = 54
    def bar(self):
        pass
if hasattr(foo, 'a'):
   print foo.a
else:
   print 'No such attribute'

ผลลัพธ์

54