Питхон претворба и преливање типова (са примерима)

У овом чланку ћете научити о претворби типова и употреби претворбе типова.

Пре него што научите претварање типова у Питхону, требало би да имате знање о типовима података Питхон.

Конверзија типова

Процес претварања вредности једног типа података (цео број, низ, флоат итд.) У други тип података назива се претварање типа. Питхон има две врсте конверзије типова.

  1. Имплицитна конверзија типа
  2. Експлицитна конверзија типова

Имплицитна конверзија типа

У имплицитној конверзији типа, Питхон аутоматски претвара један тип података у други тип података. У овом процесу није потребно било какво учешће корисника.

Погледајмо пример где Питхон промовише конверзију нижег типа података (цео број) у виши тип података (флоат) како би избегао губитак података.

Пример 1: Претварање целог броја у плутајуће

 num_int = 123 num_flo = 1.23 num_new = num_int + num_flo print("datatype of num_int:",type(num_int)) print("datatype of num_flo:",type(num_flo)) print("Value of num_new:",num_new) print("datatype of num_new:",type(num_new))

Када покренемо горњи програм, излаз ће бити:

 тип података нум_инт: тип података нум_фло: Вредност нум_нев: 124.23 тип података нум_нев: 

У горњем програму,

  • Додамо две променљиве нум_инт и нум_фло, чувајући вредност у нум_нев.
  • Размотрићемо тип података сва три објекта.
  • У излазу можемо видети тип података нум_инт је integerдок је тип података нум_фло а float.
  • Такође, можемо видети да нум_нев има floatтип података јер Питхон увек претвара мање типове података у веће типове података како би избегао губитак података.

Покушајмо сада да додамо низ и цео број и да видимо како се Питхон носи са тим.

Пример 2: Додавање типа података низа (виши) и целобројног (нижи) типа података

 num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str:",type(num_str)) print(num_int+num_str)

Када покренемо горњи програм, излаз ће бити:

 Тип података нум_инт: Тип података нум_стр: Трацебацк (последњи последњи позив): Датотека „питхон“, ред 7, у ТипеЕррор: неподржани типови операнда за +: 'инт' и 'стр'

У горњем програму,

  • Додамо две променљиве нум_инт и нум_стр.
  • Као што видимо из резултата, добили смо TypeError. Питхон није у могућности да користи Имплицитну конверзију у таквим условима.
  • Међутим, Питхон има решење за ове врсте ситуација које је познато као експлицитна конверзија.

Експлицитна конверзија типова

У експлицитној конверзији типова, корисници претварају тип података објекта у тражени тип података. Ми користимо унапред дефинисаних функције као што су int(), float(), str(), итд за обављање експлицитно типа конверзију.

Овај тип конверзије назива се и слање типова јер корисник емитује (мења) тип података објеката.

Синтакса:

 (израз)

Представљање типова може се извршити додељивањем изразу потребне функције типа података.

Пример 3: Сабирање низа и целог броја помоћу експлицитне конверзије

 num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str before Type Casting:",type(num_str)) num_str = int(num_str) print("Data type of num_str after Type Casting:",type(num_str)) num_sum = num_int + num_str print("Sum of num_int and num_str:",num_sum) print("Data type of the sum:",type(num_sum))

Када покренемо горњи програм, излаз ће бити:

 Тип података нум_инт: Тип података нум_стр пре Цастинга типа: Тип података нум_стр након Цастинга типа: Збир нум_инт и нум_стр: 579 Тип података збира: 

У горњем програму,

  • Додамо променљиву нум_стр и нум_инт.
  • Нум_стр смо конвертовали из низа (виши) у целобројни (нижи) тип користећи int()функцију за извршавање сабирања.
  • Након конверзије нум_стр у целобројну вредност, Питхон је у стању да дода ове две променљиве.
  • Вредност нум_сум и тип података добили смо цео број.

Кључне тачке које треба запамтити

  1. Конверзија типа је конверзија објекта из једног типа података у други тип података.
  2. Имплицитну конверзију типа аутоматски врши интерпретатор Питхон.
  3. Питхон избегава губитак података у имплицитној конверзији типова.
  4. Експлицитна конверзија типова назива се и уливањем типова, типови података се конвертују помоћу унапред дефинисаних функција од стране корисника.
  5. У лијевању типова може доћи до губитка података док присиљавамо објект на одређени тип података.

Занимљиви Чланци...