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:
- Implicitna pretvorba tipa
- Eksplicitna pretvorba tipa
- Prednosti
- 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 afloat
. - Također, možemo vidjeti da myFloat ima
float
tip 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:
- int ()
- plutati()
- kompleks()
- bool ()
- 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:
- Ne možete pretvoriti složeni tip podataka u int
- 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:
- Možete pretvoriti složeni tip u plutajuću vrijednost.
- 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
- More convenient to use
Disadvantages Of Typecasting
- More complex type system
- 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.