Naučte sa obsadiť text v jazyku Python za päť minút

Rýchly kurz o Typecastingu a prevode typov v Pythone veľmi neverbálnym spôsobom

Typ vysielania

Proces prevodu jedného údajového typu na iný údajový typ sa nazýva Typecasting alebo Type Coercion alebo Type Conversion .

Témy, ktorým sa budem v tomto článku venovať, sú:

  1. Implicitná konverzia typu
  2. Explicitná konverzia typu
  3. Výhody
  4. Nevýhody

Implicitná konverzia typu

Keď je prevod typu vykonaný tlmočníkom automaticky bez zásahu programátora, tento typ prevodu sa označuje ako implicitný prevod typu .

Príklad programu:

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

Výkon:

Výstupom pre vyššie uvedený program bude:

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

Vo vyššie uvedenom programe

  • Pridáme dve premenné myInt a myFloat, ktoré hodnotu uložia do myResult.
  • Pozrime sa na dátový typ všetkých troch objektov.
  • Na výstupe vidíme údajový typ myInt je integer, údajový typ myFloat je a float.
  • Vidíme tiež, že myFloat má floatdátový typ, pretože Python prevádza menší dátový typ na väčší dátový typ, aby zabránil strate dát.

Tento typ konverzie sa nazýva implicitný typ konverzie (alebo) UpCasting .

Explicitná konverzia typu

V nástroji Explicit Type Conversion používatelia prevádzajú údajový typ objektu na požadovaný údajový typ. Používame preddefinované zabudované funkcie ako:

  1. int ()
  2. plavák()
  3. komplex ()
  4. bool ()
  5. str ()

Syntax pre explicitnú konverziu typu je:

(required_datatype)(expression)

Tento typ konverzie sa nazýva Explicitný typ konverzie (alebo) DownCasting .

Konverzia int

Túto funkciu môžeme použiť na prevod hodnôt z iných typov na int.

Napríklad:

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

Poznámka:

  1. Zložitý údajový typ nemôžete previesť na int
  2. Ak chcete previesť typ reťazca na typ int, musí reťazcový literál obsahovať hodnotu v Base-10

Float Conversion

Táto funkcia sa používa na prevod ľubovoľného dátového typu na číslo s pohyblivou rádovou čiarkou.

Napríklad:

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

Poznámka:

  1. Môžete previesť komplexný typ na hodnotu typu float.
  2. Ak chcete previesť typ reťazca na float, reťazcový literál musí obsahovať hodnotu v base-10.

Komplexná premena

Táto funkciasa používa na prevod reálnych čísel na komplexné (reálne, imaginárne) číslo.

Formulár 1: komplexný (x)

Túto funkciu môžete použiť na prevod jednej hodnoty na komplexné číslo so skutočnou časťou x a imaginárnou časťou 0.

Napríklad:

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

Forma 2: komplexná (x, y)

Ak chcete previesť X a Y na komplexné číslo tak, že X bude skutočná časť a Y bude imaginárna časť.

Napríklad:

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

Boolovská konverzia

Táto funkcia sa používa na ľahký prevod ľubovoľného typu údajov na boolovský typ údajov. Je to najpružnejší údajový typ v Pythone.

Napríklad:

>>> 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
Poznámka: Pomocou funkcie bool môžete previesť akýkoľvek typ dátového typu na boolean a výstup bude - Pre všetky hodnoty vyprodukuje True okrem 0, 0 + 0j a pre Empty String.

Konverzia reťazca

Táto funkcia sa používa na prevod ľubovoľného typu na typ reťazca.

Napríklad:

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

Príklad programu:

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

Výkon:

Keď spustíme vyššie uvedený program, výstup bude:

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: 

Vo vyššie uvedenom programe

  • Pridáme premennú string_number a integer_number.
  • Pomocou int()funkcie na vykonanie sčítania sme prevádzali string_number z reťazca (vyšší) na celé číslo (nižší) .
  • Po prevode string_number na celočíselnú hodnotu Python pridá tieto dve premenné.
  • Získali sme hodnotu number_sum a dátový typ ako celé číslo.

Výhody obsadenia

  1. Pohodlnejšie na použitie

Nevýhody obsadenia

  1. Zložitejší systém typu
  2. Zdroj chýb v dôsledku neočakávaného obsadenia

Pokryl som skoro všetko, čo je potrebné na vykonanie akejkoľvek operácie Typecasting v Python3.

Dúfam, že vám to pomohlo dozvedieť sa o Python Typecasting rýchlym a ľahkým spôsobom.

Ak sa vám tento článok páčil, kliknite na tlieskanie a nechajte mi svoju cennú spätnú väzbu.