Неявные преобразования
В операциях с данными могут применяться значения различных типов. Например, складываются число типа int и число типа float, смотрим код.
Оба числа в арифметических операциях должны представлять один и тот же тип. Если же два операнда операции представляют разные типы данных, то Python пытается автоматически выполнить преобразования к одному из типов в соответствии со следующими правилами:
• Если один из операндов операции представляет комплексное число (тип complex), то другой операнд также преобразуется к типу complex.
• Иначе, если один из операндов представляет тип float, то второй операнд также преобразуется к типу float. Собственно так и произошло в примере выше, где значение переменной a было преобразовано в тип float.
• Иначе, оба операнда должны представлять тип int, и в этом случае преобазование не требуется.
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы
В операциях с данными могут применяться значения различных типов. Например, складываются число типа int и число типа float, смотрим код.
Оба числа в арифметических операциях должны представлять один и тот же тип. Если же два операнда операции представляют разные типы данных, то Python пытается автоматически выполнить преобразования к одному из типов в соответствии со следующими правилами:
• Если один из операндов операции представляет комплексное число (тип complex), то другой операнд также преобразуется к типу complex.
• Иначе, если один из операндов представляет тип float, то второй операнд также преобразуется к типу float. Собственно так и произошло в примере выше, где значение переменной a было преобразовано в тип float.
• Иначе, оба операнда должны представлять тип int, и в этом случае преобазование не требуется.
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы
Явные преобразования
В некоторых случаях возникает необходимость вручную выполнить преобразование типов. Например, пусть у нас будет следующий код:
Мы ожидаем, что "2" + 3 будет равно 5. Однако этот код сгенерирует исключение, так как первое число на самом деле представляет строку. И мы увидим при выполнении кода что-то наподобие примера во второй части кода:
Для преобразования типов Python предоставляет ряд встроенных функций:
• int(): преобразует значение в целое число
• float(): преобразует значение в число с плавающей точкой
• str(): преобразует значение в строку
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы #int #float #str
В некоторых случаях возникает необходимость вручную выполнить преобразование типов. Например, пусть у нас будет следующий код:
Мы ожидаем, что "2" + 3 будет равно 5. Однако этот код сгенерирует исключение, так как первое число на самом деле представляет строку. И мы увидим при выполнении кода что-то наподобие примера во второй части кода:
Для преобразования типов Python предоставляет ряд встроенных функций:
• int(): преобразует значение в целое число
• float(): преобразует значение в число с плавающей точкой
• str(): преобразует значение в строку
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы #int #float #str
Int
Преобазуем строку в число с помощью функции int(), смотрим первый пример:
Примеры преобразований с помощью int(), смотрим второй пример:
Однако если значение не может быть преобразовано, то функция int выдаст ошибку ValueError: invalid literal for int() with base 10, смотрим третий пример:
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы #int
Преобазуем строку в число с помощью функции int(), смотрим первый пример:
Примеры преобразований с помощью int(), смотрим второй пример:
Однако если значение не может быть преобразовано, то функция int выдаст ошибку ValueError: invalid literal for int() with base 10, смотрим третий пример:
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы #int
Float
Аналогичным образом действует функция float(), которая преобразует в число с плавающей точкой, первый пример.
Примеры преобразований с помощью float(), второй пример:
Но опять же не все значения могут автоматически преобразованы в float. Так, в следующем случае Python сгенерирует ошибку, третий пример:
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы #float
Аналогичным образом действует функция float(), которая преобразует в число с плавающей точкой, первый пример.
Примеры преобразований с помощью float(), второй пример:
Но опять же не все значения могут автоматически преобразованы в float. Так, в следующем случае Python сгенерирует ошибку, третий пример:
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы #float
Str
Функция str() преобразует значение в строку, первый пример:
Функция str() может быть актуальна, например, при добавлении к строке значения другого типа. Например, в следующем случае мы получим ошибку, вторая часть кода:
Если число складывается с число, то это стандартная операция сложения чисел. Если строка складывается со строкой, то это операция объединения строк. Но каким образом выполнить операцию сложения по отношение к строке и числу, Python не знает. И если мы в данном случае мы хотим выполнить операцию объединения строк, то число можно привести к строке с помощью функции str(), третья часть кода:
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы #str
Функция str() преобразует значение в строку, первый пример:
Функция str() может быть актуальна, например, при добавлении к строке значения другого типа. Например, в следующем случае мы получим ошибку, вторая часть кода:
Если число складывается с число, то это стандартная операция сложения чисел. Если строка складывается со строкой, то это операция объединения строк. Но каким образом выполнить операцию сложения по отношение к строке и числу, Python не знает. И если мы в данном случае мы хотим выполнить операцию объединения строк, то число можно привести к строке с помощью функции str(), третья часть кода:
🐍 Укус питона // 💬 Чат // #теория #преобразование #типы #str