Tässä opetusohjelmassa opit erilaisista tietotyypeistä, joita voit käyttää Pythonissa.
Tietotyypit Pythonissa
Jokaisella Pythonin arvolla on tietotyyppi. Koska kaikki on objekti Python-ohjelmoinnissa, tietotyypit ovat itse asiassa luokkia ja muuttujat ovat näiden luokkien ilmentymiä (objekteja).
Pythonissa on erilaisia tietotyyppejä. Jotkut tärkeistä tyypeistä on lueteltu alla.
Python-numerot
Kokonaisluvut, liukuluvut ja kompleksiluvut kuuluvat Python-numeroihin. Ne määritellään int
, float
ja complex
luokkia Python.
Voimme käyttää type()
toimintoa tietää minkä luokan muuttuja tai arvo kuuluu. Vastaavasti isinstance()
toimintoa käytetään tarkistamaan, kuuluuko objekti tiettyyn luokkaan.
a = 5 print(a, "is of type", type(a)) a = 2.0 print(a, "is of type", type(a)) a = 1+2j print(a, "is complex number?", isinstance(1+2j,complex))
Tuotos
5 on tyyppiä 2.0 on tyyppiä (1 + 2j) on kompleksiluku? Totta
Kokonaisluvut voivat olla minkä tahansa pituisia, sitä rajoittaa vain käytettävissä oleva muisti.
Liukuluku on tarkka 15 desimaalin tarkkuudella. Kokonaisluku ja kelluvat pisteet erotetaan desimaalipisteillä. 1 on kokonaisluku, 1,0 on liukuluku.
Kompleksiluvut kirjoitetaan muodossa, x + yj
jossa x on todellinen osa ja y on kuvitteellinen osa. Tässä on joitain esimerkkejä.
>>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j)
Huomaa, että float
muuttuja b katkaistiin.
Python-luettelo
Lista on järjestetty alkioiden sarja. Se on yksi Pythonin käytetyimmistä tietotyypeistä ja on erittäin joustava. Kaikkien luettelon kohteiden ei tarvitse olla samantyyppisiä.
Luettelon ilmoittaminen on melko suoraviivaista. Pilkuilla erotetut kohteet on suljettu sulkuihin ( )
.
a = (1, 2.2, 'python')
Voimme viipalointioperaattorin ( )
avulla erottaa kohteen tai tuotevalikoiman luettelosta. Hakemisto alkaa Pythonissa nollasta.
a = (5,10,15,20,25,30,35,40) # a(2) = 15 print("a(2) = ", a(2)) # a(0:3) = (5, 10, 15) print("a(0:3) = ", a(0:3)) # a(5:) = (30, 35, 40) print("a(5:) = ", a(5:))
Tuotos
a (2) = 15 a (0: 3) = (5, 10, 15) a (5 :) = (30, 35, 40)
Luettelot ovat muutettavissa, eli luettelon elementtien arvoa voidaan muuttaa.
a = (1, 2, 3) a(2) = 4 print(a)
Tuotos
(1, 2, 4)
Python Tuple
Tuple on järjestetty esineiden sarja, joka on sama kuin luettelo. Ainoa ero on, että joukot ovat muuttumattomia. Kerran luotuja joukkoja ei voi muokata.
Tuplia käytetään tietojen suojaamiseen kirjoituksen aikana, ja ne ovat yleensä nopeampia kuin luettelot, koska ne eivät voi muuttua dynaamisesti.
Se määritetään sulkeissa, ()
joissa kohteet erotetaan pilkuilla.
t = (5,'program', 1+3j)
Voimme käyttää viipalointioperaattoria ()
esineiden purkamiseen, mutta emme voi muuttaa sen arvoa.
t = (5,'program', 1+3j) # t(1) = 'program' print("t(1) = ", t(1)) # t(0:3) = (5, 'program', (1+3j)) print("t(0:3) = ", t(0:3)) # Generates error # Tuples are immutable t(0) = 10
Tuotos
t (1) = ohjelma t (0: 3) = (5, 'ohjelma', (1 + 3j)) Seuranta (viimeisin puhelu viimeisin): Tiedosto "test.py", rivi 11, kohdassa t (0) = 10 TypeError: 'tuple' -objekti ei tue kohteen määritystä
Python-kielet
Merkkijono on Unicode-merkkien sarja. Voimme käyttää yksittäisiä lainausmerkkejä tai kaksoislainauksia merkkijonojen esittämiseen. Moniriviset merkkijonot voidaan merkitä käyttämällä kolminkertaisia lainausmerkkejä '''
tai """
.
s = "This is a string" print(s) s = '''A multiline string''' print(s)
Tuotos
Tämä on merkkijono Monirivinen merkkijono
Aivan kuten luetteloa ja tuplaa, viipalointioperaattoria ( )
voidaan käyttää merkkijonojen kanssa. Jouset ovat kuitenkin muuttumattomia.
s = 'Hello world!' # s(4) = 'o' print("s(4) = ", s(4)) # s(6:11) = 'world' print("s(6:11) = ", s(6:11)) # Generates error # Strings are immutable in Python s(5) ='d'
Tuotos
s (4) = os (6:11) = maailman jäljitys (viimeisin puhelu viimeksi): Tiedosto "", rivi 11, TypeError: 'str' -objekti ei tue kohteen määritystä
Python-sarja
Sarja on järjestämätön kokoelma ainutlaatuisia esineitä. Joukko määritetään pilkuilla erotetuilla arvoilla aaltosulkeissa ( )
. Sarjan tuotteita ei tilata.
a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(a))
Tuotos
a = (1, 2, 3, 4, 5)
Voimme suorittaa joukkooperaatioita, kuten unioni, risteys kahdessa sarjassa. Sarjoilla on ainutlaatuiset arvot. Ne eliminoivat kaksoiskappaleet.
a = (1,2,2,3,3,3) print(a)
Tuotos
(1, 2, 3)
Koska joukko on järjestämätöntä kokoelmaa, indeksoinnilla ei ole merkitystä. Siksi viipalointioperaattori ()
ei toimi.
>>> a = (1,2,3) >>> a(1) Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in TypeError: 'set' object does not support indexing
Python-sanakirja
Sanakirja on järjestämätön kokoelma avainarvopareja.
Sitä käytetään yleensä, kun meillä on valtava määrä tietoa. Sanakirjat on optimoitu tietojen hakemiseen. Meidän on tiedettävä avain arvon noutamiseksi.
Pythonissa sanakirjat määritellään aaltosulkeissa, ()
joista jokainen on muodoltaan pari key:value
. Avain ja arvo voivat olla minkä tahansa tyyppisiä.
>>> d = (1:'value','key':2) >>> type(d)
Käytämme näppäintä vastaavan arvon noutamiseen. Mutta ei päinvastoin.
d = (1:'value','key':2) print(type(d)) print("d(1) = ", d(1)); print("d('key') = ", d('key')); # Generates error print("d(2) = ", d(2));
Tuotos
d (1) = arvo d ('avain') = 2 Palautus (viimeisin puhelu viimeisin): Tiedosto "", rivi 9, KeyErrorissa: 2
Muunnos tietotyyppien välillä
Voimme muuntaa erilaiset tiedot käyttämällä eri tyyppisiä muuntaminen toiminnot kuten int()
, float()
, str()
jne
>>> float(5) 5.0
Muuntaminen kelluvasta int-muotoon katkaisee arvon (tekee sen lähemmäksi nollaa).
>>> int(10.6) 10 >>> int(-10.6) -10
Muunto merkkijonoon ja siitä tulee sisältää yhteensopivia arvoja.
>>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ValueError: invalid literal for int() with base 10: '1p'
Voimme jopa muuntaa yhden sekvenssin toiseen.
>>> set((1,2,3)) (1, 2, 3) >>> tuple((5,6,7)) (5, 6, 7) >>> list('hello') ('h', 'e', 'l', 'l', 'o')
Sanakirjaan muuntamiseksi jokaisen elementin on oltava pari:
>>> dict(((1,2),(3,4))) (1: 2, 3: 4) >>> dict(((3,26),(4,44))) (3: 26, 4: 44)