تعلم لغة البايثون – الدرس الواحد و العشرون في بايثون Code Introspection In Python

استبطان الرمز هو القدرة على فحص الفئات والوظائف والكلمات الرئيسية لمعرفة ما هي وماذا يفعلون وما يعرفون.

توفر Python العديد من الوظائف والأدوات المساعدة لاستبطان التعليمات البرمجية.

help()
dir() 
hasattr() 
id() 
type() 
repr() 
callable() 
issubclass() 
isinstance() 
__doc__ 
__name__

غالبًا ما تكون أهم وظيفة هي وظيفة المساعدة ، حيث يمكنك استخدامها للعثور على ما تقوم به الوظائف الأخرى.

تمرين

اطبع قائمة بجميع سمات كائن السيارة المحدد.

# استخدم وظيفة المساعدة لمعرفة ما تقوم به كل وظيفة.
# احذف هذا عند الانتهاء.
help(dir)
help(hasattr)
help(id)

# تحديد فئة المركبات.
class Vehicle:
    name = ""
    kind = "car"
    color = ""
    value = 100.00
    def description(self):
        desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value)
        return desc_str

# اطبع قائمة بجميع سمات فئة السيارة.
# رمزك هنا

الحل

# تحديد فئة المركبات
class Vehicle:
    name = ""
    kind = "car"
    color = ""
    value = 100.00
    def description(self):
        desc_str = "%s is a %s %s worth $%.2f." % (self.name, self.color, self.kind, self.value)
        return desc_str

# اطبع قائمة بجميع سمات فئة السيارة.
print(dir(Vehicle))

سنحصل على النتيجة التالية عند التشغيل

<script.py> output:
    ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'color', 'description', 'kind', 'name', 'value']





Leave a Reply