Konwersja typów i rzutowanie typów w Pythonie (z przykładami)

W tym artykule dowiesz się o konwersji typu i zastosowaniach konwersji typu.

Zanim nauczysz się konwersji typów w Pythonie, powinieneś mieć wiedzę na temat typów danych w Pythonie.

Konwersja typów

Proces konwersji wartości jednego typu danych (liczba całkowita, ciąg znaków, zmiennoprzecinkowa itp.) Na inny typ danych nazywa się konwersją typów. Python ma dwa typy konwersji typów.

  1. Niejawna konwersja typów
  2. Jawna konwersja typu

Niejawna konwersja typów

W przypadku niejawnej konwersji typu Python automatycznie konwertuje jeden typ danych na inny typ danych. Ten proces nie wymaga zaangażowania użytkownika.

Zobaczmy przykład, w którym Python promuje konwersję niższego typu danych (liczba całkowita) do wyższego typu danych (liczba zmiennoprzecinkowa), aby uniknąć utraty danych.

Przykład 1: Konwersja liczby całkowitej na zmiennoprzecinkową

 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))

Kiedy uruchomimy powyższy program, wynik będzie:

 typ danych num_int: typ danych num_flo: Wartość num_new: 124,23 typ danych num_new: 

W powyższym programie

  • Dodajemy dwie zmienne num_int i num_flo, przechowując wartość w num_new.
  • Przyjrzymy się odpowiednio typom danych wszystkich trzech obiektów.
  • W wynikach widzimy, że typ danych num_int to an, integera typ danych num_flo to a float.
  • Widzimy również, że num_new ma floattyp danych, ponieważ Python zawsze konwertuje mniejsze typy danych na większe typy danych, aby uniknąć utraty danych.

Teraz spróbujmy dodać ciąg i liczbę całkowitą i zobaczmy, jak sobie z tym radzi Python.

Przykład 2: Dodanie typu string (wyższy) i integer (niższy) typ danych

 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)

Kiedy uruchomimy powyższy program, wynik będzie:

 Typ danych num_int: Typ danych num_str: Traceback (ostatnie wywołanie ostatnie): Plik „python”, wiersz 7, w TypeError: nieobsługiwane typy operandów dla +: „int” i „str”

W powyższym programie

  • Dodajemy dwie zmienne num_int i num_str.
  • Jak widać na wyjściu, otrzymaliśmy TypeError. W takich warunkach Python nie może używać niejawnej konwersji.
  • Jednak Python ma rozwiązanie dla tego typu sytuacji, które jest znane jako jawna konwersja.

Jawna konwersja typu

W jawnej konwersji typu użytkownicy konwertują typ danych obiektu na wymagany typ danych. Używamy predefiniowanych funkcji, takich jak int(), float(), str()itp wykonywać wyraźne konwersji typów.

Ten typ konwersji jest również nazywany rzutowaniem typów, ponieważ użytkownik rzutuje (zmienia) typ danych obiektów.

Składnia:

 (wyrażenie)

Rzutowanie typu można wykonać, przypisując wymaganą funkcję typu danych do wyrażenia.

Przykład 3: dodanie ciągu znaków i liczby całkowitej za pomocą jawnej konwersji

 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))

Kiedy uruchomimy powyższy program, wynik będzie:

 Typ danych num_int: Typ danych num_str przed rzutowaniem typu: Typ danych num_str po rzutowaniu typu: Suma liczb num_int i num_str: 579 Typ danych sumy: 

W powyższym programie

  • Dodajemy zmienne num_str i num_int.
  • Przekonwertowaliśmy num_str z typu string (wyższy) na typ całkowity (niższy) przy użyciu int()funkcji do wykonania dodawania.
  • Po przekonwertowaniu num_str na wartość całkowitą, Python może dodać te dwie zmienne.
  • Otrzymaliśmy wartość num_sum i typ danych jako liczbę całkowitą.

Kluczowe punkty do zapamiętania

  1. Konwersja typu to konwersja obiektu z jednego typu danych na inny typ danych.
  2. Niejawna konwersja typów jest wykonywana automatycznie przez interpreter języka Python.
  3. Python unika utraty danych w niejawnej konwersji typu.
  4. Jawna konwersja typów jest również nazywana rzutowaniem typów, typy danych obiektów są konwertowane przy użyciu wstępnie zdefiniowanych funkcji przez użytkownika.
  5. W przypadku rzutowania typów może wystąpić utrata danych, gdy wymuszamy na obiekcie określony typ danych.

Interesujące artykuły...