تخفیف عضویت ویژه تا 10 اردیبهشت

آشنایی با تابع dir پایتون

امیرحسین بیگدلو 10 ماه قبل

در این مقاله با تابع dir پایتون آشنا خواهید شد. تابع dir جزو توابع داخلی پایتون بوده و همه جا در دسترس است. تابع dir برای پیدا کردن ویژگی های مربوط به آبجکت ها استفاده میشود. سینتکس تابع dir به شکل زیر است:

dir(object)

همینطور که مشخص است تابع dir یک آبجکت به عنوان پارامتر گرفته و در خروجی لیست تمام attribute ها را نمایش میدهد. به مثال زیر دقت کنید:

>>> num = 12
>>> dir(num)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

در مثال بالا عدد 12 را در متغیر num ذخیره کردیم و بعد با استفاده از تابع dir پایتون به تمام توابع و ویژگی های متغیر num دسترسی پیدا کردیم. شما میتوانید هر نوع آبجکتی را به تابع dir ارسال کنید. در مثال زیر چند نمونه را میتوانید ببیند:

>>> dir([1, 2, 3])
>>> dir({'name':'amir', 'age':12})

همچنین میتوانید آبجکت هایی که توسط کاربر ساخته شده اند را هم به تابع dir ارسال کنید. در مثال زیر یک کلاس به نام Person ایجاد کرده ایم:

class Person:
    def show(self):
        print('Hello..!')

شما میتوانید کلاسی که ساخته اید را در dir استفاده کنید:

>>> dir(Person)
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name']

در نتیجه مشاهده میکنید که تمام ویژگی ها و متدهای کلاس Person از جمله متد name که خودمان ایجاد کرده بودیم در خروجی وجود دارد.

مطالب مشابه



مونگارد