Opi kirjoitus Pythonissa viidessä minuutissa

Kaatumiskurssi Typecastingista ja Type-muunnoksesta Pythonissa hyvin epäselvällä tavalla

TypeCasting

Yhden tietotyypin muuntamista toiseksi tietotyypiksi kutsutaan kirjoituslajiksi tai tyyppisovellukseksi tai tyypin muunnokseksi .

Aiheet, joihin keskityn tässä artikkelissa, ovat:

  1. Epäsuora tyypin muunnos
  2. Täsmällinen tyypin muunnos
  3. Edut
  4. Haitat

Epäsuora tyypin muunnos

Kun tulkki suorittaa tyyppimuunnoksen automaattisesti ilman ohjelmoijan toimintaa, kyseiseen muunnostyyppiin viitataan implisiittisenä tyyppimuunnoksena .

Esimerkkiohjelma:

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

Tuotos:

Yllä olevan ohjelman tulos on:

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

Yllä olevassa ohjelmassa

  • Lisätään kaksi muuttujaa myInt ja myFloat, jotka tallentavat arvon myResult-tiedostoon.
  • Tarkastelemme vastaavasti kaikkien kolmen objektin tietotyyppiä.
  • integerLähdössä näemme myInt on -tietotyypin, myFloat-tietotyypin on a float.
  • Voimme myös nähdä, että myFloatilla on floattietotyyppi, koska Python muuntaa pienemmän tietotyypin suuremmaksi tietotyypiksi tietojen häviämisen välttämiseksi.

Tämän tyyppistä muunnosta kutsutaan implisiittisen tyypin muunnokseksi (tai) UpCastingiksi .

Täsmällinen tyypin muunnos

Explicit Type Conversion -ohjelmassa käyttäjät muuttavat objektin tietotyypin vaadittavaksi tietotyypiksi. Käytämme ennalta määritettyjä sisäänrakennettuja toimintoja, kuten:

  1. int ()
  2. kellua()
  3. monimutkainen ()
  4. bool ()
  5. str ()

Täsmällisen tyyppimuunnoksen syntaksi on:

(required_datatype)(expression)

Tämäntyyppistä muunnosta kutsutaan nimenomaiseksi tyypin muunnokseksi (tai) DownCastingiksi .

Int muunnos

Voimme käyttää tätä toimintoa muuntaa arvot muuntyyppisistä int.

Esimerkiksi:

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

merkintä:

  1. Et voi muuntaa monimutkaista tietotyyppiä int
  2. Jos haluat muuntaa merkkijonotyypin int-tyypiksi, merkkijonoliteraalin on sisällettävä arvo Base-10: ssä

Kelluva muunnos

Tätä toimintoa käytetään minkä tahansa tietotyypin muuntamiseen liukuluvuksi.

Esimerkiksi:

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

merkintä:

  1. Voit muuntaa monimutkaisen tyypin float-tyypin arvoksi.
  2. Jos haluat muuntaa merkkijonotyypin float-tyypiksi, merkkijonolitraalin on sisällettävä arvo kohdassa base-10.

Monimutkainen muunnos

Tämä toimintokäytetään reaalilukujen muuntamiseen kompleksisiksi (todellisiksi, kuvitteellisiksi) luvuiksi.

Lomake 1: monimutkainen (x)

Tämän toiminnon avulla voit muuntaa yhden arvon kompleksiluvuksi, jolla on todellinen osa x ja kuvitteellinen osa 0.

Esimerkiksi:

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

Lomake 2: monimutkainen (x, y)

Jos haluat muuntaa X: n ja Y: n kompleksiluvuksi siten, että X on todellinen osa ja Y on kuvitteellinen osa.

Esimerkiksi:

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

Boolen muunnos

Tätä toimintoa käytetään minkä tahansa tietotyypin muuntamiseen loogiseksi tietotyypiksi helposti. Se on Pythonin joustavin tietotyyppi.

Esimerkiksi:

>>> 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
Huomaa: Bool-toiminnon avulla voit muuntaa minkä tahansa tyyppisen tietotyypin booleaniksi ja tulos on - Kaikille arvoille, jotka se tuottaa True, paitsi 0, 0 + 0j ja Tyhjä merkkijono.

Merkkijonon muunnos

Tätä toimintoa käytetään minkä tahansa tyypin muuntamiseen merkkijonotyypiksi.

Esimerkiksi:

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

Esimerkkiohjelma:

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

Tuotos:

Kun suoritamme yllä olevan ohjelman, tulos on:

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: 

Yllä olevassa ohjelmassa

  • Lisätään muuttuja merkkijono_numero ja kokonaisluku_numero.
  • Muunnimme merkkijononumeron merkkijonosta (suurempi) kokonaislukutyypiksi (alempi) int()funktion avulla lisäyksen suorittamiseksi.
  • Muunnettuaan merkkijononumero kokonaisluvuksi Python lisää nämä kaksi muuttujaa.
  • Saimme numero_summan arvon ja tietotyypin olevan kokonaisluku.

Kirjasinkokoamisen edut

  1. Kätevämpi käyttää

Kirjasinkokoamisen haitat

  1. Monimutkaisempi tyyppinen järjestelmä
  2. Virheiden lähde odottamattomien heittojen takia

Käsittelin melkein kaiken, mitä vaaditaan minkä tahansa tyyppikilpailun suorittamiseen Python3: ssa.

Toivottavasti tämä auttoi sinua oppimaan Python Typecastingista nopeasti ja helposti.

Jos pidit tästä artikkelista, napsauta taputusta ja jätä minulle arvokasta palautettasi.