logo

Zadejte převod v Pythonu

Převod typu znamená změnu datového typu hodnoty. Například převod celého čísla (5) na float (5.0) nebo řetězce ('10') na celé číslo (10). V Pythonu existují dva typy převodu typů:

  1. Implicitní konverze: Python během spouštění kódu sám mění typ dat, aby se zabránilo chybám nebo ztrátě dat.
  2. Explicitní konverze: Datový typ měníte záměrně pomocí funkcí jako int() float() nebo str().

Implicitní převod typu

V implicitní konverze Python během vyhodnocování výrazů automaticky převádí jeden datový typ na jiný. K tomu obvykle dochází, když je v operaci kombinován menší datový typ, jako je int, s větším, jako je float. Příklad:

Python
x = 10 # Integer y = 10.6 # Float z = x + y print('x:' type(x)) print('y:' type(y)) print('z =' z) print('z :' type(z)) 

Výstup
x:  y:  z = 20.6 z :  

Vysvětlení: x je celé číslo a a je plovák. V z = x + y Python se automaticky převádí x plovoucí, aby nedošlo ke ztrátě dat S plovák 0,6.



Explicitní převod typu

Explicitní konverze (nebo přetypování) je, když ručně převedete datový typ hodnoty pomocí Pythonu vestavěné funkce . To je užitečné, když chcete řídit, jak jsou data ve vašem kódu interpretována nebo s nimi manipulováno. Některé běžné funkce odlévání typu zahrnují:

  • int() převede hodnotu na celé číslo
  • plovák() převede hodnotu na číslo s plovoucí desetinnou čárkou
  • str() převede hodnotu na řetězec
  • bool() převede hodnotu na booleovskou (pravda/nepravda)

Příklad:

Python
s = '100' # String a = int(s) print(a) print(type(a)) 

Výstup
100  

Vysvětlení: a = int(s) explicitně jej převedeme na celé číslo. Tato ruční změna typu se nazývá explicitní konverze typu a stává se 100 typu.

Příklady běžných funkcí převodu typů

Příklad 1: Převod binárního řetězce

Python
s = '10010' a = int(s 2) print(a) b= float(s) print(b) 

Výstup
18 10010.0 

Vysvětlení:

  • int(s 2) interpretuje binární řetězec '10010' jako celé číslo 18.
  • plovák(y) převede řetězec na číslo s plovoucí desetinnou čárkou.

Příklad 2: ASCII hexadecimální a osmičkové převody

Python
c = '4' print('ASCII of '4':' ord(c)) print('56 in Hex:' hex(56)) print('56 in Octal:' oct(56)) 

Výstup
ASCII of '4': 52 56 in Hex: 0x38 56 in Octal: 0o70 

Vysvětlení:

  • slovo(a) vrátí ASCII kód ​​znaku '4'.
  • hex() a oct() převést celé číslo 56 na jeho hexadecimální a osmičkovou reprezentaci.

Příklad 3 : Řetězec na n-ticovou sadu a seznam

Python
s = 'geeks' print('To tuple:' tuple(s)) print('To set:' set(s)) print('To list:' list(s)) 

Výstup
To tuple: ('g' 'e' 'e' 'k' 's') To set: {'e' 'g' 'k' 's'} To list: ['g' 'e' 'e' 'k' 's'] 

Vysvětlení:

  • n-tice udržuje všechny znaky včetně duplikátů v pořádku.
  • sada(y) odstraní duplikáty a vrátí neuspořádanou kolekci.
  • seznam(y) vrátí seznam znaků z řetězce.

Příklad 4: Jiné převody – Komplexní řetězcový slovník

Python
a = 1 tup = (('a' 1) ('f' 2) ('g' 3)) print('To complex:' complex(1 2)) print('To string:' str(a)) print('To dict:' dict(tup)) 

Výstup
To complex: (1+2j) To string: 1 To dict: {'a': 1 'f': 2 'g': 3} 

Vysvětlení:

  • komplexní (1 2) vytvoří komplexní číslo s reálnou částí 1 a imaginární částí 2.
  • str(a) převede celé číslo 1 na řetězec '1'.
  • diktát (tup) vytvoří slovník ze sekvence n-tic klíč-hodnota.
Vytvořit kvíz