logo

Як перевірити тип об’єкта в Python

У цій статті ми розглянемо основні навички визначення типу об’єкта в Python . Перш ніж виконувати будь-які операції з об’єктом на мові програмування Python, необхідно знати, як перевірити його тип. Це фундаментальне завдання виникає регулярно, незалежно від того, працюєте ви над особистим проектом чи складною виробничою системою.

Перевірте тип об’єкта в Python

Python пропонує кілька методів визначення типу об’єкта, найпростішим з яких є вбудована функція type(), яка надає швидкий спосіб перевірити тип об’єкта. Більш просунуті методи, такі як це екземпляр (), пропонують перевагу обробки ієрархій класів і успадкування. Ми почнемо з розгляду вбудованої функції type(), а потім перейдемо до більш складних методів, таких як це екземпляр () функція , властивість __class__ та інші.



Отримати та надрукувати тип об’єкта: type()

тип() повертає тип об’єкта. Він подібний до типу в інших мовах програмування тим, що його можна використовувати для отримання та друку типу змінної або літералу.

Python3








print>(>type>(>'string'>))> #> print>(>type>(>500>))> #> print>(>type>([>9>,>8>,>7>]))> #>

>

>

Вихід

>

Отримати та надрукувати тип об’єкта: isinstance()

це екземпляр (object, type) повертає True, якщо аргумент об’єкта є підкласом або екземпляром наданого параметра типу. Використовуйте кортеж як другий варіант для перевірки різних типів. Він повертає True, якщо об’єкт є екземпляром будь-якого з наданих типів.

Python3




print>(>isinstance>(>'string'>,>str>))> # True> print>(>isinstance>(>300>,>str>))> # False> print>(>isinstance>(>700>, (>int>,>str>)))> # True>

>

>

Вихід

True False True>

Отримати та надрукувати тип об’єкта: атрибут class__

У Python все є об’єктом, і кожен об’єкт має власні характеристики. Атрибут __class__ є єдиним, який може повернути тип класу об’єкта. Атрибут __class__ у Python також можна використовувати для перевірки типу об’єкта на додаток до вбудованих функцій.

Кожен об’єкт Python має атрибут під назвою __class__, який містить інформацію про клас об’єкта. Наприклад, клас цілого числа 5 можна знайти за допомогою наведеного нижче коду.

Python3


програма інкапсуляції



x>=> 10> print>(x.__class__)> #> y>=> 'GeeksForGeeks'> print>(y.__class__)> #> z>=> 90.0> print>(z.__class__)> #>

>

>

Вихід

>

Отримати та надрукувати тип об’єкта: оператор ‘==’ і type()

Інший спосіб визначення типу об’єкта — використання функції type() і оператора ==. Це можна використовувати для порівняння типу об’єкта з певним класом. Наприклад, щоб визначити, чи є ціле число 5 типу int, ми можемо використати такий код:

Python




x>=> 5> print>(>type>(x)>=>=> int>)> # True> y>=> 5.0> print>(>type>(y)>=>=> float>)> # True> z>=> 'techcodeview.com'> print>(>type>(z)>=>=> int>)> # False>

>

>

Вихід

True True False>

Пам’ятайте, що Python є динамічно типізованою мовою, а це означає, що тип змінної може змінюватися під час її використання. У результаті може знадобитися перевірити тип елемента перед виконанням визначених завдань. Наприклад, щоб додати два числа, ми повинні переконатися, що обидва вони є цілими чи числами з плаваючою точкою.

приклад

Попередній код демонструє, як може змінюватися тип об’єкта змінної під час виконання.

Python




x>=> 10> print>(>type>(x))> x>=> 'GeeksForGeeks'> print>(>type>(x))>

>

>

Вихід

>

Початковий оператор друку відображав тип як «int», оскільки 10 є цілим числом, але після призначення рядка тій самій змінній той самий оператор друку відображав тип як «str» через динамічну зміну типу об’єкта.

Динамічно типізована природа Python вимагає процесу перевірки типів об’єктів. Наприклад, якщо ми хочемо додати два числа, ми повинні переконатися, що обидва вони є цілими чи числами з плаваючою точкою. Несумісні операції типу класу призведуть до помилок, які можна буде налагодити лише за допомогою таких функцій, як type() або іншого підходу доступу до властивості «__class__».

Таким чином, оволодіння перевіркою типів об’єктів у Python має вирішальне значення для розробників усіх рівнів, незалежно від того, чи ви початківець, чи досвідчений програміст. Розуміння таких методів, як type(), isinstance() і клас , необхідний для створення ефективного та надійного коду. Ці методи забезпечують універсальний набір інструментів для різних сценаріїв перевірки типів і підвищать ваші навички розробки Python.