Конверзија типа значи промену типа података вредности. На пример претварање целог броја (5) у флоат (5.0) или низа ('10') у цео број (10). У Питхон-у постоје две врсте конверзије типова:
- Имплицитна конверзија: Питхон сам мења тип података док покреће код како би избегао грешке или губитак података.
- Експлицитна конверзија: Намерно мењате тип података користећи функције као што су инт() флоат() или стр().
Имплицитна конверзија типа
Ин имплицитна конверзија Питхон аутоматски претвара један тип података у други током евалуације израза. Ово се обично дешава када се мањи тип података као што је инт комбинује са већим као што је флоат у операцији. Пример:
Pythonx = 10 # Integer y = 10.6 # Float z = x + y print('x:' type(x)) print('y:' type(y)) print('z =' z) print('z :' type(z))
Излаз
x:y: z = 20.6 z :
Објашњење: к је цео број и и је пловак. Ин з = к + и Питхон аутоматски конвертује к да плута да би се избегло стварање губитка података Витх а флоат 0,6.
Експлицитна конверзија типа
Експлицитна конверзија (или пребацивање типа) је када ручно конвертујете тип података вредности користећи Питхон уграђене функције . Ово је корисно када желите да контролишете како се подаци тумаче или манипулишу у вашем коду. Неке уобичајене функције кастинга укључују:
- инт() претвара вредност у цео број
- флоат() претвара вредност у број са покретним зарезом
- стр() претвара вредност у стринг
- боол() претвара вредност у логички (тачно/нетачно)
Пример:
Pythons = '100' # String a = int(s) print(a) print(type(a))
Излаз
100
Објашњење: а = инт(с) ми га експлицитно претварамо у цео број. Ова ручна промена типа назива се експлицитна конверзија типа и а постаје 100 типа
Примери уобичајених функција конверзије типа
Пример 1: Конвертовање бинарног низа
Pythons = '10010' a = int(s 2) print(a) b= float(s) print(b)
Излаз
18 10010.0
Објашњење:
- инт(е 2) тумачи бинарни низ '10010' као цео број 18.
- плутају претвара стринг у број са покретним зарезом.
Пример 2: АСЦИИ хексадецимална и октална конверзија
Pythonc = '4' print('ASCII of '4':' ord(c)) print('56 in Hex:' hex(56)) print('56 in Octal:' oct(56))
Излаз
ASCII of '4': 52 56 in Hex: 0x38 56 in Octal: 0o70
Објашњење:
- реч(е) враћа АСЦИИ код знака '4'.
- хек() и окт() претвори цео број 56 у хексадецимални и октални приказ.
Пример 3 : Стринг то Тупле Сет и Лист
Pythons = 'geeks' print('To tuple:' tuple(s)) print('To set:' set(s)) print('To list:' list(s))
Излаз
To tuple: ('g' 'e' 'e' 'k' 's') To set: {'e' 'g' 'k' 's'} To list: ['g' 'e' 'e' 'k' 's'] Објашњење:
- тупле(е) одржава редом све знакове укључујући дупликате.
- сет(и) уклања дупликате и враћа неуређену колекцију.
- листа(е) враћа листу знакова из стринга.
Пример 4: Друге конверзије – Речник сложених стрингова
Pythona = 1 tup = (('a' 1) ('f' 2) ('g' 3)) print('To complex:' complex(1 2)) print('To string:' str(a)) print('To dict:' dict(tup))
Излаз
To complex: (1+2j) To string: 1 To dict: {'a': 1 'f': 2 'g': 3} Објашњење:
- комплекс (1 2) ствара комплексан број са реалним делом 1 и имагинарним делом 2.
- стр(а) претвара цео број 1 у низ '1'.
- дицт(туп) креира речник од низа кључ-вредности тупле.