Kaikille numeerisille muuttujille voi tehdä matematiikasta tuttuja yhteen-, vähennys- ja kertolaskuja, joita vastaavat +, - ja * operaattorit. Laskut toimivat aivan niinkuin matematiikassa laskujärjestystä myöten ja sulkujakin voi käyttää laskujärjestyksen tarkentamiseen. Eri tyyppisiä numeerisia muuttujia sekoittaessa kokonaisluvut muunnetaan aina liukuluvuiksi ja nämä edelleen kompleksiluvuiksi.
Code Block |
---|
>>> 12 + 7 19 >>> 4 - 99 -95 >>> 12.5 + 0.12 12.62 >>> 3 * 7 21 >>> 2 + 1.9 3.9 >>> (23.1 + 10) * (4e4 - 89) 1321054.1 >>> (3.1 - 5.0j) * 2 (6.2-10j) >>> |
Jakolasku on Pythoissa hieman monipuolisempi tapaus. Jakolasku operaattoreita on kaksi: ensimmäinen / palauttaa aina liuku- tai kompleksiluvun, vaikka jako menisi tasan, toinen // aina jättää desimaaliosan pois (eli aina pyöristetään alas päin). Lisäksi on modulo-operaattori %, joka palauttaa jakojäännöksen. (huom. // ja % eivät toimi kompleksiluvuilla)
Code Block |
---|
>>> 12 / 4 3.0 >>> 12 // 4 3 >>> 21 / 5 4.2 >>> 21 // 5 4 >>> 21 % 5 1 >>> 37.5 // 12.1 3.0 >>> |
Potenssiin korotus tapahtuu merkinnällä **. Kuten esimerkistä näkyy, kokonaislukuvuista voi tehdä niin isoja kuin haluaa (kunhan muistia riittää), mutta suurilla liukuluvuilla pienimpien desimaalien tarkkuus kärsii.
Code Block |
---|
>>> 2 ** 3 8 >>> 21.1 ** 1.2 38.82745690601828 >>> 25 ** 0.5 5.0 >>> 3 ** 100 515377520732011331036461129765621272702107522001 >>> 3.0 ** 100.0 5.153775207320113e+47 >>> |
Kehittyneemmät matemaatiset funktiot löytyvät moduuleista math ja cmath - ne ovat muuten samat, mutta cmath on kompleksiluvuille. Ne sisältävät trigonometrisiä funktioita, funktioita lukujen pyöristämiseen, logaritmit, neliöjuuren, piin ja e;n arvon jne.. Näiden - sekä muiden standardikirjaston moduulien - sisältö on tarkasti dokumentoitu Pythonin kotisivuilta löytyvässä dokumentaatiossa joten kaikkea ei ole syytä käydä tässä läpi.
Code Block |
---|
>>> import math >>> math.sin(1.13) 0.9044121893788258 >>> math.ceil(2.4) 3 >>> math.floor(2.4) 2 >>> math.fabs(10) 10.0 >>> math.fabs(-10) 10.0 >>> math.sqrt(36) 6.0 >>> math.pi 3.141592653589793 >>> math.e 2.718281828459045 >>> >>> import cmath >>> cmath.sin(2.7 - .9j) (0.6124722877778292+0.9280451750273301j) >>> cmath.exp(1.1 + 5j) (0.8521682998470161-2.8807677254804784j) >>> cmath.phase(7.1 + 90.09j) 1.4921488065025537 >>> |