Функція dir() повертає список допустимих атрибутів переданого об’єкту.
Наприклад:
|
1 2 3 |
number = [12] print(dir(number)) |
Результат:
['__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']
Синтаксис функції dir()
|
1 |
dir(object) |
Параметри функції dir()
Функція dir() приймає один параметр:
object — може бути порожнім/заповненим кортежем, списком, множиною, словником і т.д. або будь-яким об’єктом, визначеним користувачем.
Значення, яке повертає функція dir()
Функція dir() повертає:
Список атрибутів об’єкта, переданого у функцію.
Приклад №1: Функція dir() в Python зі списком
|
1 2 3 4 5 6 7 8 9 |
number1 = [1, 2, 3] # Функція dir() із заповненим списком print(dir(number1)) number2 = [ ] # Функція dir() з порожнім списком print(dir(number2)) |
Результат:
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__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']
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__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']
У цьому прикладі ми використали функцію dir(), яка повертає всі допустимі атрибути списків number1 та number2.
Приклад №2: Функція dir() з множиною
|
1 2 3 4 5 6 7 8 9 |
number = {12, 15, 18, 21} # Функція dir() із заповненою множиною print(dir(number)) number1 = set() # Функція dir() з порожньою множиною print(dir(number1)) |
Результат:
['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
['__and__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
У цьому прикладі ми використали функцію dir(), яка повертає всі допустимі атрибути множин number та number1.
Приклад №3: Функція dir() з кортежем
|
1 2 3 4 5 6 7 |
number = (21, 10, 81, 25) # Функція dir() із заповненим кортежем print(dir(number)) number1 = () # Функція dir() з порожнім кортежем print(dir(number1)) |
Результат:
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
У цьому прикладі функція dir() повертає всі допустимі атрибути кортежів number та number1.
Приклад №4: Функція dir() з користувацьким об’єктом
|
1 2 3 4 5 6 |
class Person: def __dir__(self): return ['age', 'name', 'salary'] teacher = Person() print(dir(teacher)) |
Результат:
['age', 'name', 'salary']
У цьому прикладі ми використали функцію dir() з користувацьким об’єктом teacher класу Person.
Оскільки ми передали змінні age, name та salary в клас Person, функція dir() повернула ці атрибути в якості результату.

(2 оцінок, середня: 4,50 з 5)