функція type() у Python
Функція type() здебільшого використовується для налагодження. У функцію type() можна передати два різні типи аргументів: один і три аргументи. Якщо передається один аргумент type(obj), він повертає тип даного об’єкта. Якщо передано три типи аргументів (об’єкт, бази, dict), він повертає об’єкт нового типу.
Синтаксис функції Python type().
Синтаксис: тип (об'єкт, основи, dict)
Параметри:
- об'єкт: Вимагається. Якщо вказано лише один параметр, функція type() повертає тип цього об’єкта
- бази: кортеж класів, з яких походить поточний клас. Пізніше відповідає атрибуту __bases__.
- dict : словник, який містить простори імен для класу. Пізніше відповідає атрибуту __dict__.
Повернення: повертає новий клас типу або, по суті, метаклас.
Як працює функція type(). на Python?
У наведеному прикладі ми друкуємо тип змінної x. Ми будемо визначати тип об'єкта в Python.
Python3
x> => 10> print> (> type> (x))> |
Вихід
Приклади функції type() у Python
Використовуючи функцію type(), ми можемо визначити тип об’єкта в Python. Нижче наведено ще кілька прикладів, пов’язаних із функцією type():
Знаходження типу об’єкта Python
Тут ми перевіряємо тип об’єкта за допомогою функції type(). Python .
Python3
a> => (> 'Geeks'> ,> 'for'> ,> 'Geeks'> )> b> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ]> c> => {> 'Geeks'> :> 1> ,> 'for'> :> 2> ,> 'Geeks'> :> 3> }> d> => 'Hello World'> e> => 10.23> f> => 11.22> print> (> type> (a))> print> (> type> (b))> print> (> type> (c))> print> (> type> (d))> print> (> type> (e))> print> (> type> (f))> |
Вихід
Перевірте, чи об’єкт має тип у Python
У цьому прикладі ми перевіряємо об’єкт за допомогою умов і друкуємо логічне значення.
Python3
print> (> type> ([])> is> list> )> print> (> type> ([])> is> not> list> )> print> (> type> (())> is> tuple> )> print> (> type> ({})> is> dict> )> print> (> type> ({})> is> not> list> )> |
Вихід
True False True True True
Використання type() з умовним оператором
У цьому прикладі ми використовуємо функцію type() для визначення типу об’єкта в Python за допомогою умовного оператора if-else.
Python3
# Example variables> my_tuple> => (> 10> ,> 'Hello'> ,> 45> ,> 'Hi'> )> my_dict> => {> 1> :> 'One'> ,> 2> :> 'Two'> ,> 3> :> 'Three'> }> # Check if the variables have the same object type> if> type> (my_tuple)> is> not> type> (my_dict):> > print> (> 'The variables have different object types.'> )> else> :> > print> (> 'The variables have the same object type.'> )> |
Вихід
The variables have different object types.
Python type() із 3 параметрами
У наведеному прикладі ми створюємо a клас без базового класу та класу, похідного від базового класу. Функція type() дозволяє програмно визначати класи та їхні атрибути під час виконання.
Python3
# New class(has no base) class with the> # dynamic class initialization of type()> new> => type> (> 'New'> , (> object> , ),> > dict> (var1> => 'techcodeview.com'> , b> => 2009> ))> # Print type() which returns class 'type'> print> (> type> (new))> print> (> vars> (new))> # Base class, incorporated> # in our new class> class> test:> > a> => 'Geeksforgeeks'> > b> => 2009> # Dynamically initialize Newer class> # It will derive from the base class test> newer> => type> (> 'Newer'> , (test, ),> > dict> (a> => 'Geeks'> , b> => 2018> ))> print> (> type> (newer))> print> (> vars> (newer))> |
Вихід
{‘var1’: ‘techcodeview.com’, ‘b’: 2009, ‘__module__’: ‘__main__’, ‘__dict__’: , ‘__weakref__’: , ‘__doc__’: Немає}
{‘a’: ‘Geeks’, ‘b’: 2018, ‘__module__’: ‘__main__’, ‘__doc__’: Немає}
Застосування функції type() Python
- тип( ) функція в основному використовується для налагодження. Під час використання інших рядкових функцій, таких як .upper(), .lower() і .split() із текстом, отриманим із веб-сканера, це може не працювати, оскільки вони можуть бути іншого типу, який не підтримує функції рядків. І як наслідок, він продовжуватиме викидати помилки, які дуже важко налагодити [Вважайте помилку, оскільки GeneratorType не має атрибута lower()].
- тип() Функція може бути використана в цей момент, щоб визначити тип вилученого тексту, а потім змінити його на інші форми рядка, перш ніж використовувати функції рядка або будь-які інші операції з ним.
- тип() з трьома аргументами можна використовувати для динамічної ініціалізації класів або існуючих класів з атрибутами. Він також використовується для реєстрації таблиць бази даних SQL .
- У рамках модульного тестування,
type()>можна використовувати для перевірки результатів функцій або методів, гарантуючи, що повертаються очікувані типи даних.