Опубликован: 10.08.2023 174
Python - динамически типизированный язык, в котором тип используемых переменных, других объектов определяется "динамически" в процессе выполнения программы в момент присвоения им значений.
Это позволяет позволяет "на лету" изменять типы данных, чтобы при написании программ иметь возможность гибко манипулировать значениями разных типов.
При этом, важно учитывать, что преобразование типов данных может осуществляться как явно (с помощью встроенных функций), так и не явно (в процессе выполнения операций и вычислений с операндами разных типов данных).
Интерпретатор Python допускает преобразование типов данных в определенных пределах, например:
Для явного преобразования используются встроенные функции базовых типов данных:
int(x)
- преобразует x
в целое число;float(x)
- преобразует x
в число с плавающей точкой;str(x)
- преобразует x
в строковое представление;chr(x)
- преобразует целое число x
в символ;ord(x)
- преобразует символ x
в соответствующее ему целое число;hex(x)
- преобразует целое число x
в шестнадцатеричную строку;oct(x)
- преобразует целое число x
в восьмеричную строку;Для явного преобразования объектов "контейнерного типа" (списка, кортежа, множества, словаря) используются встроенные методы:
set(x)
- преобразует итерируемый объект x
в множество; list(x)
- преобразует итерируемый объект x
в список;tuple(x)
- преобразует итерируемый объект x
в кортеж;dict(x)
- преобразует кортеж или список x
, состоящий из пар значений (key
,value
), в словарь.# Преобразование чисел с плавающей запятой в целые числа:
a = float(input())
5.123
print(int(a))
5
# Преобразование целых чисел в числа с плавающей запятой:
a = 5
print(float(a))
5.0
# Преобразование строки в число и вывод числа без ведущих нулей:
a = '00032567'
print(int(a))
32567
# Сложение строки и числа:
a = 'Apollo '
b = 13
print(a + str(b))
Apollo 13
# Преобразование списка в строку:
a = ['п', 'р', 'и', 'в', 'е', 'т']
print('*'.join(a))
п*р*и*в*е*т
# Преобразование строки в множество:
a = 'привет'
print(set(a))
{'в', 'е', 'и', 'т', 'п', 'р'}
# Преобразование строки в список:
a = 'я изучаю Python'
print(list(a))
['я', ' ', 'и', 'з', 'у', 'ч', 'а', 'ю', ' ', 'P', 'y', 't', 'h', 'o', 'n']
# Преобразование кортежа в список:
a = ('red', 'blue', 'green')
print(list(a))
['red', 'blue', 'green']
Неявное преобразование (или приведение) типов данных автоматически выполняется интерпретатором Python и не требует участия пользователя.
В ходе выполнения программы Python производит преобразование одного типа данных в другой (если такое преобразование возможно выполнить без вызова исключения об ошибке).
При этом, Python не допускает потери данных при неявном преобразовании типов:
int
на целое число int
результат всегда будет число с плавающей точкой float
;# деление целого числа на целое число - результат число с плавающей точкой:
x: int = 14
y: int = 2
z = x / y
print(f" {z=}, {type(z)=} ")
z=7.0, type(z)=<class 'float'>
# сложение целого числа со строкой:
num_int: int = 123
num_str: str = "456"
print( f"Тип данных в num_int: {type(num_int)}" )
Тип данных в num_int: <class 'int'>
print( f"Тип данных в num_str: {type(num_str)}" )
Тип данных в num_str: <class 'str'>
print(num_int + num_str)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Использование аннотации типов в Python
Изменяемые и неизменяемые типы данных
Динамическая типизация в Python
Встроенные типы данных в Python
Комментариев нет.