Вивчіть набір тексту на Python за п’ять хвилин

Аварійний курс на Typecasting та перетворення типів на Python дуже не детально

TypeCasting

Процес перетворення одного типу даних в інший тип даних називається Typecasting або Тисовим примусом або Перетворенням типу .

Темами, на яких я зупинюсь у цій статті, є:

  1. Неявне перетворення типу
  2. Явне перетворення типів
  3. Переваги
  4. Недоліки

Неявне перетворення типу

Коли перетворення типу виконується інтерпретатором автоматично без втручання програміста, цей тип перетворення називається неявним перетворенням типу .

Приклад програми:

myInt = 143 # Integer value.myFloat = 1.43 # Float value.
myResult = myInt + myFloat # Sum result
print("datatype of myInt:",type(myInt))print("datatype of myFloat:",type(myFloat))
print("Value of myResult:",myResult)print("datatype of myResult:",type(myResult))

Вихід:

Результатом для вищезазначеної програми буде:

datatype of myInt: datatype of myFloat: Value of myResult: 144.43datatype of myResult: 

У наведеній вище програмі

  • Ми додаємо дві змінні myInt і myFloat, зберігаючи значення в myResult.
  • Ми розглянемо тип даних усіх трьох об’єктів відповідно.
  • На виході ми бачимо тип даних myInt - це integerтип даних myFloat - a float.
  • Також ми бачимо, що тип floatданих myFloat має тип даних, оскільки Python перетворює менший тип даних на більший тип даних, щоб уникнути втрати даних.

Цей тип перетворення називається неявним перетворенням типу (або) UpCasting .

Явне перетворення типів

У явному перетворенні типів користувачі перетворюють тип даних об’єкта на необхідний тип даних. Ми використовуємо заздалегідь визначені вбудовані функції, такі як:

  1. int ()
  2. float ()
  3. складний ()
  4. bool ()
  5. str ()

Синтаксис для явного перетворення типу:

(required_datatype)(expression)

Цей тип перетворення називається явним перетворенням типу (або) DownCasting .

Внутрішнє перетворення

Ми можемо використовувати цю функцію для перетворення значень з інших типів у int.

Наприклад:

>>> int(123.654)123
>>>int(False)0
>>> int("10")10
>>> int("10.5")ValueError: invalid literal for int() with base 10: '10.5'
>>> int("ten")ValueError: invalid literal for int() with base 10: 'ten'
>>> int("0B1111")ValueError: invalid literal for int() with base 10: '0B1111'
>>> int(10+3j)TypeError: can't convert complex to int

Примітка:

  1. Ви не можете перетворити складний тип даних на int
  2. Якщо ви хочете перетворити тип рядка на тип int, строковий літерал повинен містити значення в Base-10

Конверсія поплавка

Ця функція використовується для перетворення будь-якого типу даних у число з плаваючою комою.

Наприклад:

>>> float(10) 10.0
>>> float(True)1.0
>>> float(False)0.0
>>> float("10")10.0
>>> float("10.5")10.5
>>> float("ten")ValueError: could not convert string to float: 'ten'
>>> float(10+5j)TypeError: can't convert complex to float
>>> float("0B1111")ValueError: could not convert string to float: '0B1111'

Примітка:

  1. Ви можете перетворити складний тип на плаваюче значення типу.
  2. Якщо ви хочете перетворити тип рядка на тип плаваючого, рядковий літерал повинен містити значення в base-10.

Складна конверсія

Ця функціявикористовується для перетворення дійсних чисел у складне (дійсне, уявне) число.

Форма 1: комплекс (x)

Ви можете використовувати цю функцію для перетворення одного значення в комплексне число з дійсною частиною x та уявною частиною 0.

Наприклад:

>>> complex(10)10+0j
>>> complex(10.5)10.5+0j
>>> complex(True)1+0j
>>> complex(False)0+0j
>>> complex("10")10+0j
>>> complex("10.5")10.5+0j
>>> complex("ten")ValueError: complex() arg is a malformed string

Форма 2: комплекс (x, y)

Якщо ви хочете перетворити X та Y на комплексні числа, такі що X буде дійсною частиною, а Y буде уявною частиною.

Наприклад:

>>> complex(10,-2)10-2j
>>> complex(True, False)1+0j

Булеве перетворення

Ця функція використовується для легкого перетворення будь-якого типу даних у логічний тип даних. Це найбільш гнучкий тип даних у Python.

Наприклад:

>>> bool(0)False
>>> bool(1)True
>>> bool(10)True
>>> bool(0.13332)True
>>> bool(0.0)False
>>> bool(10+6j)True
>>> bool(0+15j)True
>>> bool(0+0j)False
>>> bool("Apple")True
>>> bool("")False
Примітка. За допомогою функції bool ви можете перетворити будь-який тип даних на логічний, і результат буде: - Для всіх значень це буде True, крім 0, 0 + 0j та для порожнього рядка.

Перетворення рядків

Ця функція використовується для перетворення будь-якого типу в рядовий тип.

Наприклад:

>>> str(10)'10'
>>> str(10.5)'10.5'
>>> str(True)'True'
>>> str(False)'False'
>>> str(10+5j)'10+5j'
>>> str(False)'False'

Приклад програми:

integer_number = 123 # Intstring_number = "456" # String
print("Data type of integer_number:",type(integer_number))print("Data type of num_str before Type Casting:",type(num_str))
string_number = int(string_number)print("Data type of string_number after Type Casting:",type(string_number))
number_sum = integer_number + string_number
print("Sum of integer_number and num_str:",number_sum)print("Data type of the sum:",type(number_sum))

Вихід:

Коли ми запускаємо вищезазначену програму, результат буде:

Data type of integer_number: Data type of num_str before Type Casting: Data type of string_number after Type Casting: Sum of integer_number and num_str: 579Data type of the sum: 

У наведеній вище програмі

  • Додаємо змінну string_number та integer_number.
  • Ми перетворили string_number із рядка (вище) у цілий (нижчий) тип, використовуючи int()функцію для виконання додавання.
  • After converting string_number to an integer value Python adds these two variables.
  • We got the number_sum value and data type to be an integer.

Advantages Of Typecasting

  1. More convenient to use

Disadvantages Of Typecasting

  1. More complex type system
  2. Source of bugs due to unexpected casts

I covered pretty much everything that is required to perform any type of typecasting operation in Python3.

Hope this helped you learn about Python Typecasting in a quick and easy way.

If you liked this article please click on the clap and leave me your valuable feedback.