Что делает метод type python?
Функция type()
возвращает тип данных, к которому принадлежит переданный ей объект:
a = ('apple', 'banana', 'cherry')
b = 'Hello World'
c = 33
x = type(a)
y = type(b)
z = type(c)
print(x) # => <class 'tuple'>
print(y) # => <class 'str'>
print(z) # => <class 'int'>
Метод type()
в Python возвращает тип данных объекта. Он может быть использован для определения типа переменной или объекта во время выполнения программы.
Примеры использования метода type()
:
Определение типа переменной:
x = 5 print(type(x)) # <class 'int'>
Определение типа объекта:
class MyClass: pass
obj = MyClass() print(type(obj)) # <class '__main__.MyClass'>
3. Проверка типа объекта:
```python
x = "Hello"
if type(x) == str:
print("x is a string")
- Создание нового класса с помощью
type()
:python MyClass = type('MyClass', (), {}) obj = MyClass() print(type(obj)) # <class '__main__.MyClass'>
Таким образом, метод type()
в Python позволяет узнать тип данных объекта, что может быть полезно при разработке программ и отладке кода.
Функция type()
либо возвращает тип объекта, либо возвращает объект нового типа на основе переданных аргументов.
Метод имеет две разные формы:
- С параметром одного объекта - type(obj). Если передаётся один объект, функция возвращает его тип.
- С тремя параметрами - type(name, bases, dict). Если в
type()
передаются три параметра, он возвращает объект нового типа.
Эти три параметра:
- Название. Название класса; становится атрибутом name
- Bases. Кортеж, определяющий базовый класс; становится атрибутом bases
- dict. Словарь, который представляет собой пространство имен, содержащее определения для тела класса; становится атрибутом dict
o1 = type('X', (object,), dict(a='Foo', b=12))
print(type(o1)) # <class 'type'>
print(vars(o1)) # {'a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__': <attribute '__dict__' of 'X' objects>, '__weakref__': <attribute '__weakref__' of 'X' objects>, '__doc__': None}
class test:
a = 'Foo'
b = 12
o2 = type('Y', (test,), dict(a='Foo', b=12))
print(type(o2)) # <class 'type'>
print(vars(o2)) # {'a': 'Foo', 'b': 12, '__module__': '__main__', '__doc__': None}