introduktion
siffror är extremt vanliga vid programmering. De används för att representera saker som skärmstorlek dimensioner, geografiska platser, pengar och poäng, den tid som passerar i en video, positioner av spel avatarer och färger genom att tilldela numeriska koder.
att effektivt kunna utföra matematiska operationer i programmering är en viktig färdighet att utveckla på grund av hur ofta du kommer att arbeta med siffror., Även om en hög nivå förståelse av matematik kan säkert hjälpa dig att bli en bättre programmerare, är det inte en förutsättning. Om du inte har en bakgrund i matematik, försök att tänka på matematik som ett verktyg för att uppnå vad du vill uppnå, och som ett sätt att förbättra ditt logiska tänkande.
Vi kommer att arbeta med två av Pythons mest använda numeriska datatyper, heltal och flöten:
denna handledning kommer att gå över operatörer som kan användas med nummerdatatyper i Python.
operatörer
en operatör är en symbol eller funktion som indikerar en operation., Till exempel är plustecknet eller + i math den operatör som anger tillägg.
i Python kommer vi att se några bekanta operatörer som kommer över från matematik, men andra operatörer som vi kommer att använda är specifika för datorprogrammering.
här är en snabb Referenstabell för matematiska relaterade operatörer i Python. Vi kommer att täcka alla följande operationer i denna handledning., 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.,
Addition and Subtraction
i Python utför addition and subtraction operators precis som de gör i matematik. Faktum är att du kan använda programmeringsspråket Python som en kalkylator.,”>
istället för att skicka heltal direkt till print
– satsen kan vi initiera variabler för att stå för heltalvärden:
a = 88b = 103print(a + b)
Output191
eftersom heltal kan vara både positiva och negativa tal (och 0 också) kan vi lägga till ett negativt tal med ett positivt tal:
Output191
eftersom heltal kan vara både positiva och negativa tal (och 0 också) kan vi lägga till ett negativt tal med ett positivt tal:
c = -36d = 25print(c + d)
Output-11
tillägg kommer att bete sig på samma sätt med flöten:
e = 5.5f = 2.5print(e + f)
Output8.0
eftersom vi lagt till två flöten tillsammans returnerade python ett flottörvärde med en decimal.,
syntaxen för subtraktion är densamma som för addition, förutom att du ändrar din operatör från plustecknet (+
) till minustecknet (-
):
g = 75.67h = 32print(g - h)
Output43.67
här subtraherade vi ett heltal från en flottör. Python kommer att returnera en flottör om minst ett av de tal som är involverade i en ekvation är en flottör.,
Unary Aritmetic Operations
ett unary matematiskt uttryck består av endast en komponent eller ett element, och i Python kan plustecknen och minustecknen användas som ett enda element ihopkopplat med ett värde för att returnera värdet identitet (+
), eller ändra tecknet på värdet (-
).
även om plustecknet inte används ofta anger plustecknet identiteten på värdet., Vi kan använda plustecknet med positiva värden:
i = 3.3print(+i)
Output3.3
När vi använder plustecknet med ett negativt värde kommer det också att returnera identiteten för det värdet, och i det här fallet skulle det vara ett negativt värde:
j = -19print(+j)
Output-19
med ett negativt värde plustecknet returnerar samma negativa värde.
minustecknet ändrar alternativt tecknet för ett värde., Så, när vi passerar ett positivt värde finner vi att minustecknet innan värdet kommer att returnera ett negativt värde:
i = 3.3print(-i)
Output-3.3
alternativt, när vi använder minustecknet unary operator med ett negativt värde, kommer ett positivt värde att returneras:
j = -19print(-j)
Output19
de icke-aritmetiska operationer som indikeras av plustecknet och minustecknet returnerar antingen värdet ’ s identitet när det gäller +i
, eller motsatt tecken på värdet som i -i
.,
multiplikation och Division
som addition och subtraktion kommer multiplikation och division att se väldigt ut som hur de gör i matematik. Tecknet vi använder i Python för multiplikation är *
och tecknet vi använder för division är /
.,
här är ett exempel på att göra multiplikation i Python med två floatvärden:
k = 100.1l = 10.1print(k * l)
Output1011.0099999999999
När du delar upp i Python 3 kommer din kvot alltid att returneras som en flottör, även om du använder två heltal:
m = 80n = 5print(m / n)
Output16.0
detta är en av de stora förändringarna mellan Python 2 och Python 3., Python 3: s tillvägagångssätt ger ett fraktionellt svar så att när du använder/
för att dela11
av2
kommer kvoten för5.5
att returneras. I Python 2 returnerade kvoten för uttrycket11 / 2
5
.
Python 2: s/
operatören utför golv division, där för kvoten x
numret returneras är det största heltalet mindre än eller lika med x
., Om du kör ovanstående exempel på print(80 / 5)
med Python 2 istället för Python 3 får du 16
som utmatning utan decimal.
i Python 3 kan du använda //
för att utföra golvdelning. Uttrycket 100 // 40
returnerar värdet för 2
. Golvdelning är användbar när du behöver en kvot för att vara i heltal.
Modulo
%
operatören är modulo, som returnerar resten snarare än kvoten efter division., Detta är användbart för att hitta nummer som är multiplar av samma nummer, till exempel.
låt oss titta på modulo i aktion:
o = 85p = 15print(o % p)
Output10
för att bryta ner detta, 85 dividerat med 15 returnerar kvoten av 5 med en återstod av 10. Värdet 10
är det som returneras här eftersom modulo-operatören returnerar resten av ett divisionsuttryck.
om vi använder två flöten med modulo kommer ett floatvärde att returneras för resten:
q = 36.0r = 6.0print(o % p)
Output0.0
för 36.,0 dividerat med 6,0, det finns ingen återstod, så värdet på 0.0
returneras.
ström
**
– operatören i Python används för att höja numret till vänster till kraften hos exponenten till höger. Det vill säga i uttrycket 5 ** 3
höjs 5 till 3: e kraften. I matematik ser vi ofta detta uttryck som 53, och det som verkligen händer är att 5 multipliceras med sig själv 3 gånger., I Python skulle vi få samma resultat av 125
genom att köra antingen5 ** 3
eller5 * 5 * 5
.
låt oss titta på ett exempel med variabler:
s = 52.25t = 7print(s ** t)
1063173305051.292
höja flottören 52.25
till kraften hos 7
genom **
resulterar operatören i ett stort floatvärde återvänt.,
Operatörspreferens
i Python, som i matematik, måste vi komma ihåg att operatörerna kommer att utvärderas i rangordning, inte från vänster till höger eller höger till vänster.,
om vi tittar på följande uttryck:
u = 10 + 10 * 5
Vi kan läsa det från vänster till höger, men kom ihåg att multiplikationen kommer att göras först, så om vi kallar print(u)
får vi följande värde:
Output60
detta beror på att utvärderar till 50
, och sedan lägger vi till 10
för att returnera 60
som slutresultat.,
You may be familiar with another acronym for the order of operations, such as BEDMAS or BODMAS., Oavsett akronym fungerar bäst för dig, försök att hålla det i åtanke när du utför matematiska operationer i Python så att de resultat som du förväntar dig returneras.
Tilldelningsoperatörer
den vanligaste tilldelningsoperatören är en du redan har använt: likhetstecknet=
. Tilldelningsoperatören=
tilldelar värdet till höger till en variabel till vänster. Till exempel tilldelarv = 23
värdet på heltalet23
till variabelnv
.,
vid programmering är det vanligt att använda sammansatta tilldelningsoperatörer som utför en operation på en variabels värde och sedan tilldela det resulterande nya värdet till den variabeln. Dessa sammansatta operatörer kombinerar en aritmetisk operatör med =
– operatören, så för tillägg kombinerar vi +
med =
för att få sammansatta operatören +=
., Låt oss se hur det ser ut:
w = 5w += 1print(w)
Output6
först ställer vi in variabeln w
lika med värdet på 5
, sedan använde vi +=
sammansatta tilldelningsoperatören för att lägga till rätt nummer till värdet för den vänstra variabeln och tilldela sedan resultatet till w
.,
sammansatta tilldelningsoperatörer används ofta för loopar, som du använder när du vill upprepa en process flera gånger:
for x in range (0, 7): x *= 2 print(x)
Output024681012
Med for-slingan kunde vi automatisera processen för *=
– operatören som multiplicerade variabeln w
Med for-slingan kunde vi automatisera processen för*=
– operatören som multiplicerade variabelnw
med numret 2
och tilldelade sedan resultatet i variabeln w
för nästa iteration av For Loop.,
Python har en sammansatt tilldelningsoperatör för var och en av de aritmetiska operatörerna som diskuteras i den här handledningen:
sammansatta tilldelningsoperatörer kan vara användbara när saker behöver ökas eller minskas stegvis, eller när du behöver automatisera vissa processer i ditt program.
slutsats
denna handledning omfattade många av operatörerna du använder med heltal och float numeriska datatyper. Om du vill fortsätta läsa om siffror i Python kan du fortsätta på inbyggda Python 3-Funktioner för att arbeta med siffror.,
om du vill veta mer om andra datatyper, ta en titt på förstå datatyper i Python 3, och lära sig om hur du konverterar datatyper genom att läsa hur du konverterar datatyper i Python 3.