Introducere
numerele sunt extrem de frecvente în programare. Ele sunt folosite pentru a reprezenta lucruri precum dimensiunile dimensiunii ecranului, locațiile geografice, banii și punctele, timpul care trece într-un videoclip, pozițiile avatarelor jocului și culorile prin atribuirea codurilor numerice.capacitatea de a efectua în mod eficient operații matematice în programare este o abilitate importantă pentru a dezvolta din cauza cât de des veți fi de lucru cu numere., Deși o înțelegere la nivel înalt a matematicii vă poate ajuta cu siguranță să deveniți un programator mai bun, nu este o condiție prealabilă. Dacă nu aveți un fundal în matematică, încercați să se gândească la matematica ca un instrument pentru a realiza ceea ce doriți să realizeze, și ca o modalitate de a îmbunătăți gândirea logică.
vom lucra cu două dintre cele mai utilizate tipuri de date numerice Python, numere întregi și flotoare:
acest tutorial va trece peste operatorii care pot fi utilizați cu tipuri de date numerice în Python.
operatori
un operator este un simbol sau o funcție care indică o operație., De exemplu, în matematică semnul plus sau + este operatorul care indică adăugarea.
în Python, vom vedea unii operatori familiari care sunt aduși din matematică, dar alți operatori pe care îi vom folosi sunt specifici programării pe calculator.
aici este un tabel de referință rapidă a operatorilor legate de matematică în Python. Vom acoperi toate operațiunile următoare în acest tutorial., of x and y
x
and y
x / y
x
to the y
powerWe’ll also be covering compound assignment operators, including +=
and *=
, that combine an arithmetic operator with the =
operator.,
Adunarea și scăderea
în Python, operatorii de adunare și scădere funcționează la fel ca în matematică. De fapt, puteți utiliza limbajul de programare Python ca calculator.,”>
în Loc de a trece numere întregi direct în print
declarație, putem inițializa variabile să stea pentru valori întregi:
a = 88b = 103print(a + b)
Output191
Pentru numere întregi care pot fi atât pozitive, cât și negative numere (și 0 prea), putem adăuga un număr negativ cu un număr pozitiv:
c = -36d = 25print(c + d)
Output-11
Plus se va comporta similar cu flotoare:
e = 5.5f = 2.5print(e + f)
Output8.0
Pentru că am adăugat două flotoare împreună, Python returnat o valoare float cu o zecimală.,
sintaxa pentru scăderea este aceeași ca și pentru plus, în afară de tine să-ți schimbe operatorul de semnul plus (+
) cu semnul minus (-
):
g = 75.67h = 32print(g - h)
Output43.67
Aici, am scăzut un număr întreg de la un float. Python va returna un float dacă cel puțin unul dintre numerele implicate într-o ecuație este un float.,
Unar Operații Aritmetice
unar O expresie matematică constă dintr-o singură componentă sau element, și în Python pe semnele plus și minus poate fi folosit ca un singur element asociat cu o valoare a reveni la valoarea de identitate (+
), sau schimba semnul de valoare (-
).
deși nu este utilizat în mod obișnuit, semnul plus indică identitatea valorii., Putem folosi semnul plus cu valori pozitive:
i = 3.3print(+i)
Output3.3
atunci Când vom folosi semnul plus cu o valoare negativă, aceasta va reveni, de asemenea, identitatea de această valoare, și în acest caz ar fi o valoare negativă:
j = -19print(+j)
Output-19
Cu o valoare negativă semnul plus se întoarce la aceeași valoare negativă.
semnul minus, alternativ, modifică semnul unei valori., Deci, atunci când vom trece de la o valoare pozitivă, vom găsi că semnul minus în fața valoare va returna o valoare negativă:
i = 3.3print(-i)
Output-3.3
Alternativ, atunci când vom folosi semnul minus unar operatorul cu o valoare negativă, o valoare pozitivă vor fi returnate:
j = -19print(-j)
Output19
unar operații aritmetice indicat de semnul plus și minus va reveni fie valoarea de identitate în cazul +i
, sau de semn opus de valoare ca în -i
.,la fel ca adunarea și scăderea, înmulțirea și împărțirea vor arăta foarte asemănătoare cu modul în care o fac în matematică. Semnul vom folosi în Python pentru înmulțire este *
și semnul vom folosi pentru divizia /
.,
Aici e un exemplu de a face multiplicare în Python cu două float valori:
k = 100.1l = 10.1print(k * l)
Output1011.0099999999999
atunci Când vă împărțiți în Python 3, ta coeficientul va fi întotdeauna returnate ca un float, chiar dacă utilizați două numere întregi:
m = 80n = 5print(m / n)
Output16.0
Aceasta este una dintre schimbările majore între Python 2 și Python 3., Python 3 de abordare oferă o fracționare a răspunde, astfel încât atunci când utilizați /
să împartă 11
de 2
coeficientul de 5.5
va fi returnat. În Python 2 coeficientul returnat de expresia 11 / 2
este 5
.
Python 2 e /
operatorul efectuează etaj divizare, în cazul în care pentru coeficientul x
numărul returnat este cel mai mare număr întreg mai mic sau egal cu x
., Dacă tu a alerga exemplul de mai sus de print(80 / 5)
cu Python 2 în loc de Python 3, vei primi 16
ca ieșire fără zecimală.
în Python 3, puteți utiliza //
pentru a efectua divizarea podelei. Expresia 100 // 40
va returna valoarea 2
. Divizia de podea este utilă atunci când aveți nevoie de un coeficient pentru a fi în număr întreg.
Modulo
%
operatorul este modulo, care returnează restul, mai degrabă decât coeficientul după divizare., Acest lucru este util pentru a găsi numere care sunt multipli de același număr, de exemplu.
Să ne uităm la modulo în acțiune:
o = 85p = 15print(o % p)
Output10
Pentru a rupe acest jos, 85 împărțit în 15 returnează coeficientul de 5, cu un rest de 10. Valoarea 10
este ceea ce este returnat aici, deoarece operatorul modulo returnează restul unei expresii de divizare.
Dacă vom folosi două flotoare cu modulo, o valoare float va fi returnat pentru restul:
q = 36.0r = 6.0print(o % p)
Output0.0
În caz de 36.,0 împărțit la 6.0, nu există rest, deci valoarea 0.0
este returnată.
putere
operatorul **
din Python este folosit pentru a ridica numărul din stânga la puterea exponentului din dreapta. Adică, în expresia 5 ** 3
, 5 este ridicat la a 3-A Putere. În matematică, adesea vedem această expresie redată ca 53, iar ceea ce se întâmplă cu adevărat este 5 se înmulțește de la sine de 3 ori., În Python, ne-ar obține același rezultat de 125
prin rularea fie 5 ** 3
sau 5 * 5 * 5
.
Să ne uităm la un exemplu cu variabile:
s = 52.25t = 7print(s ** t)
1063173305051.292
Creșterea float 52.25
puterea 7
prin **
operator rezultatele într-o mare float valoarea returnată., în Python, ca și în matematică, trebuie să ținem cont de faptul că operatorii vor fi evaluați în ordinea precedenței, nu de la stânga la dreapta sau de la dreapta la stânga.,
Dacă ne uităm la următoarea expresie:
u = 10 + 10 * 5
Am mai citit de la stânga la dreapta, dar amintiți-vă că de multiplicare va fi făcut în primul rând, deci, dacă o numim print(u)
, vom primi următoarea valoare:
Output60
Acest lucru este pentru că 10 * 5
se evaluează la 50
, și apoi vom adăuga 10
pentru a reveni 60
ca rezultat final.,
You may be familiar with another acronym for the order of operations, such as BEDMAS or BODMAS., Orice acronim funcționează cel mai bine pentru dvs., încercați să îl țineți cont atunci când efectuați operații matematice în Python, astfel încât rezultatele pe care le așteptați să fie returnate.
operatori de atribuire
cel mai frecvent operator de atribuire este unul pe care l-ați utilizat deja: semnul egal =
. Operatorul de atribuire =
atribuie valoarea din dreapta unei variabile din stânga. De exemplu, v = 23
atribuie valoarea de întreg 23
pentru variabila v
.,
când programați, este obișnuit să folosiți operatori de atribuire compusă care efectuează o operație pe valoarea unei variabile și apoi atribuie noua valoare rezultată acelei variabile. Aceste compuse operatorii combina un operator aritmetic cu =
operator, atât pentru plus vom combina +
cu =
pentru a obține compusul operator +=
., Să vedem ce se pare ca:
w = 5w += 1print(w)
Output6
în Primul rând, ne-am stabilit variabila w
egal cu valoarea 5
, apoi am folosit +=
compus operator de atribuire pentru a adăuga numărul la valoarea de stânga variabilă și apoi atribui rezultatul să w
.,
Compus operatori de atribuire sunt folosite frecvent în cazul de bucle, pe care le va folosi atunci când doriți să repetați procesul de mai multe ori:
for x in range (0, 7): x *= 2 print(x)
Output024681012
Cu bucla for, noi am fost capabil de a automatiza procesul de *=
operator care s-a multiplicat variabila w
de numărul 2
și apoi repartizat rezultatul în variabila w
pentru următoarea iterație a pentru buclă.,
Python are un operator de atribuire compus pentru fiecare dintre operatorii aritmetici discutate în acest tutorial:
operatorii de atribuire compus poate fi util atunci când lucrurile trebuie să fie crescut sau scăzut treptat, sau atunci când aveți nevoie pentru a automatiza anumite procese din program.
concluzie
acest tutorial a acoperit mulți dintre operatorii pe care îi veți folosi cu tipurile de date numerice întregi și float. Dacă doriți să continuați să citiți despre numere în Python, puteți continua pe funcțiile Python 3 încorporate pentru lucrul cu numere., pentru a afla mai multe despre alte tipuri de date, aruncați o privire la înțelegerea tipurilor de date în Python 3 și aflați cum să convertiți tipurile de date citind cum să convertiți tipurile de date în Python 3.