Так как Python – язык не строгой типизации, то особое вниманиенеобходимо уделить теме преобразование типов в Python, и в дальнейшем, во время написания различных программ необходимо отслеживать, с каким именно типом мы работаем! Конечно, есть методы эту задачу упростить, например использовать аннотации типов в Python, но об этом позже.
Какие именно типы данных есть в Python, вы можете ознакомиться вот в этой статье, а мы посмотрим, что такое преобразование типов, итак: для того, что бы преоразовать один тип данных в другой, необходимо вызвать функцию того типа, в который преобразуете и передать в нее ту переменную, которую хотите преобразовать!
Преобразование int в Python
Напомним, int – это целочисленные значения, не итерируемые и не изменяемые!
num = 15 temp = float(num) # 15.0 temp = str(num) # "15" temp = bool(num) # True num = 0 # Перезапишем значение num на 0 temp = bool(num) # False num = 15 # вернем обратно значение num temp = list(num) # TypeError - int не итерируемый объект temp = dict(num) # TypeError - int не итерируемый объект temp = tuple(num) # TypeError - int не итерируемый объект temp = set(num) # TypeError - int не итерируемый объект
Стоит отметить, что тип данных int можно преобразовать в простые типы и строку (str), не получится преобразовать в сложные типы (list, dict, tuple, set), так как это итерируемые типы, а для того, что бы получить словарь надо иметь как минимум 2 значения, что бы что-то попало в key, а что-то в values.
Что бы правильно выполнять преобразование типов Python необходимо понять сущьност типов, т.е. что с себя они представляют в памяти компьютера, и тогда вы будете четко понимать, можно л преобразовать!
Преобразование float в Python
По аналогии с int, с float можно выполнить преобразование типов в Python в простые типы, так как float тоже не итерируемый объект. Пример приводить не будем, это должно быть понятно.
Преобразование str
Со строками все просто: любое значение с типом данных str можно преобразовать в итерируемый объект, кроме dict, т.е. кроме словаря, так как для создания словаря нам надо 2 объекта, один для key, второй для values, ну и сами должны понимать, что символ алфавита или спецсимвол преобразовать в численное значение не получится, т.е. строки не могут быть цифрами или числами.