Naučite slati tipove u Pythonu za pet minuta

Neuspješni tečaj za Typecasting i pretvorbu tipova u Pythonu na vrlo neopširan način

TypeCasting

Proces pretvorbe jednog tipa podataka u drugi tip podataka naziva se Typecasting ili Type Prisila ili Pretvorba tipa .

Teme na koje ću se usredotočiti u ovom članku su:

  1. Implicitna pretvorba tipa
  2. Eksplicitna pretvorba tipa
  3. Prednosti
  4. Mane

Implicitna pretvorba tipa

Kada prevoditelj automatski izvrši pretvorbu tipa bez intervencije programera, ta se vrsta pretvorbe naziva implicitnom pretvorbom tipa .

Primjer programa:

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

Izlaz:

Izlaz za gornji program bit će:

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

U gornjem programu,

  • Dodamo dvije varijable myInt i myFloat, pohranjujući vrijednost u myResult.
  • Pogledat ćemo tip podataka sva tri objekta.
  • U izlazu možemo vidjeti tip podataka myInt je integer, tip podataka myFloat je a float.
  • Također, možemo vidjeti da myFloat ima floattip podataka jer Python pretvara manji tip podataka u veći tip podataka kako bi izbjegao gubitak podataka.

Ova vrsta pretvorbe naziva se implicitna pretvorba tipa (ili) UpCasting .

Eksplicitna pretvorba tipa

U eksplicitnoj pretvorbi tipova, korisnici pretvaraju vrstu podataka objekta u traženi tip podataka. Koristimo unaprijed definirane ugrađene funkcije poput:

  1. int ()
  2. plutati()
  3. kompleks()
  4. bool ()
  5. str ()

Sintaksa za eksplicitnu pretvorbu tipa je:

(required_datatype)(expression)

Ova vrsta pretvorbe naziva se eksplicitna pretvorba tipa (ili) DownCasting .

Int pretvorba

Ovu funkciju možemo koristiti za pretvaranje vrijednosti iz drugih vrsta u int.

Na primjer:

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

Bilješka:

  1. Ne možete pretvoriti složeni tip podataka u int
  2. Ako želite pretvoriti vrstu niza u tip int, literal niza mora sadržavati vrijednost u Base-10

Konverzija plovkom

Ova se funkcija koristi za pretvorbu bilo kojeg tipa podataka u broj s pomičnom zarezom.

Na primjer:

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

Bilješka:

  1. Možete pretvoriti složeni tip u plutajuću vrijednost.
  2. Ako želite pretvoriti vrstu niza u plutajući tip, literal niza mora sadržavati vrijednost u base-10.

Složena konverzija

Ova funkcijakoristi se za pretvaranje stvarnih brojeva u složeni (stvarni, imaginarni) broj.

Obrazac 1: složeni (x)

Ovu funkciju možete koristiti za pretvaranje jedne vrijednosti u složeni broj sa stvarnim dijelom x i imaginarnim dijelom 0.

Na primjer:

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

Obrazac 2: složeni (x, y)

Ako želite pretvoriti X i Y u složeni broj takav da će X biti stvarni, a Y imaginarni dio.

Na primjer:

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

Booleova pretvorba

Ova se funkcija koristi za jednostavno pretvaranje bilo kojeg tipa podataka u logički tip podataka. To je najfleksibilniji tip podataka u Pythonu.

Na primjer:

>>> 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
Napomena: Pomoću funkcije bool možete pretvoriti bilo koju vrstu podataka u logičku vrijednost i izlaz će biti - Za sve vrijednosti proizvest će True osim 0, 0 + 0j i za prazan niz.

Pretvorba niza

Ova se funkcija koristi za pretvaranje bilo kojeg tipa u niz.

Na primjer:

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

Primjer programa:

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

Izlaz:

Kada pokrenemo gornji program, izlaz će biti:

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: 

U gornjem programu,

  • Dodamo varijablu string_number i integer_number.
  • Niz_broja pretvorili smo iz niza (viši) u cijeli broj (niži), koristeći int()funkciju za izvođenje dodavanja.
  • 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.