wprowadzenie
liczby są bardzo powszechne w programowaniu. Są one używane do reprezentowania rzeczy, takich jak rozmiar ekranu Wymiary, lokalizacje geograficzne, pieniądze i punkty, ilość czasu, który przechodzi w filmie, pozycje awatarów gry, i kolory poprzez przypisanie kodów numerycznych.
umiejętność skutecznego wykonywania operacji matematycznych w programowaniu jest ważną umiejętnością do rozwijania ze względu na to, jak często będziesz pracować z liczbami., Chociaż zrozumienie matematyki na wysokim poziomie może z pewnością pomóc ci stać się lepszym programistą, nie jest to warunek wstępny. Jeśli nie masz doświadczenia w matematyce, spróbuj myśleć o matematyce jako o narzędziu do osiągnięcia tego, co chcesz osiągnąć, i jako o sposobie na poprawę logicznego myślenia.
będziemy pracować z dwoma najczęściej używanymi typami danych liczbowych Pythona, liczbami całkowitymi i pływakami:
Ten samouczek omówi operatory, które mogą być używane z typami danych liczbowych w Pythonie.
operatory
operator to symbol lub funkcja wskazująca operację., Na przykład w matematyce znak plus lub + jest operatorem wskazującym dodawanie.
w Pythonie zobaczymy kilka znanych operatorów, które zostały przeniesione z matematyki, ale inne operatory, których będziemy używać, są specyficzne dla programowania komputerowego.
oto krótka tabela referencji operatorów związanych z math w Pythonie. W tym samouczku omówimy wszystkie poniższe operacje., 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.,
dodawanie i odejmowanie
w Pythonie operatory dodawania i odejmowania działają tak samo jak w matematyce. W rzeczywistości można użyć języka programowania Python jako kalkulatora.,”>
zamiast przekazywać liczby całkowite bezpośrednio do instrukcji print
możemy zainicjować zmienne tak, aby odpowiadały wartościom całkowitym:
a = 88b = 103print(a + b)
Output191
ponieważ liczby całkowite mogą być zarówno dodatni, jak i ujemny (i również 0), możemy dodać liczba ujemna z liczbą dodatnią:
c = -36d = 25print(c + d)
Output-11
dodanie będzie zachowywać się podobnie z pływakami:
e = 5.5f = 2.5print(e + f)
Output8.0
ponieważ dodaliśmy dwa pływaki razem, Python zwraca wartość zmiennoprzecinkową z miejscem dziesiętnym.,
składnia odejmowania jest taka sama jak dla dodawania, z tym wyjątkiem, że zmienisz operatora ze znaku plus (+
) na znak minus (-
):
g = 75.67h = 32print(g - h)
Output43.67
tutaj odejmujemy liczbę całkowitą od float. Python zwróci float, jeśli przynajmniej jedna z liczb biorących udział w równaniu jest float.,
jednoargumentowe operacje arytmetyczne
jednoargumentowe wyrażenie matematyczne składa się tylko z jednego elementu lub elementu, a w Pythonie znaki Plus i minus mogą być używane jako pojedynczy element sparowany z wartością, aby zwrócić tożsamość wartości (+
) lub zmienić znak wartości (-
).
choć nie jest powszechnie używany, znak plus wskazuje tożsamość wartości., Możemy użyć znaku plus z dodatnimi wartościami:
i = 3.3print(+i)
Output3.3
gdy użyjemy znaku plus z ujemną wartością, zwróci on również tożsamość tej wartości, a w tym przypadku będzie to wartość ujemna:
j = -19print(+j)
Output-19
z wartością ujemną znak plus zwraca tę samą wartość ujemną.
znak minus, alternatywnie, zmienia znak wartości., Tak więc, gdy przekażemy wartość dodatnią, okaże się, że znak minus przed wartością zwróci wartość ujemną:
i = 3.3print(-i)
Output-3.3
alternatywnie, gdy użyjemy operatora znaku minus z wartością ujemną, zostanie zwrócona wartość dodatnia:
j = -19print(-j)
Output19
jednoargumentowe operacje arytmetyczne wskazane przez znak plus i znak minus zwrócą albo tożsamość wartości w przypadku +i
, albo przeciwny znak wartości jak w -i
.,
mnożenie i dzielenie
podobnie jak dodawanie i odejmowanie, mnożenie i dzielenie będzie wyglądać bardzo podobnie do tego, jak to robią w matematyce. Znak, którego będziemy używać w Pythonie do mnożenia to *
, a znak, którego będziemy używać do dzielenia to /
.,
oto przykład mnożenia w Pythonie za pomocą dwóch wartości float:
k = 100.1l = 10.1print(k * l)
Output1011.0099999999999
kiedy dzielisz w Pythonie 3, twój iloraz zawsze będzie zwracany jako float, nawet jeśli użyjesz dwóch liczb całkowitych:
m = 80n = 5print(m / n)
Output16.0
jest to jedna z głównych zmian pomiędzy Pythonem 2 a Pythonem 3., Podejście Pythona 3 zapewnia odpowiedź ułamkową, dzięki czemu po użyciu /
do dzielenia 11
przez 2
iloraz 5.5
zostanie zwrócony. W Pythonie 2 iloraz zwracany dla wyrażenia 11 / 2
wynosi5
.
/
operator wykonuje dzielenie podłogi, gdzie dla ilorazux
zwracana liczba jest największą liczbą całkowitą mniejszą lub równąx
., Jeśli uruchomisz powyższy przykład print(80 / 5)
z Pythonem 2 zamiast Pythona 3, otrzymasz 16
jako wyjście bez miejsca po przecinku.
w Pythonie 3 możesz użyć//
do wykonania podziału podłogi. Wyrażenie 100 // 40
zwróci wartość 2
. Podział podłogi jest przydatny, gdy potrzebujesz ilorazu w liczbach całkowitych.
modulo
operatorem%
jest operator modulo, który Zwraca resztę, a nie iloraz po podziale., Jest to przydatne np. do znajdowania liczb, które są wielokrotnościami tej samej liczby.
przyjrzyjmy się modulo w akcji:
o = 85p = 15print(o % p)
Output10
aby to rozbić, 85 dzielone przez 15 zwraca iloraz 5 z resztą 10. Wartość 10
jest zwracana tutaj, ponieważ operator modulo zwraca pozostałą część wyrażenia dzielonego.
jeśli użyjemy dwóch pływaków z modulo, wartość zmiennoprzecinkowa zostanie zwrócona dla reszty:
q = 36.0r = 6.0print(o % p)
Output0.0
W przypadku 36.,0 dzielony przez 6.0, nie ma reszty, więc zwracana jest wartość 0.0
.
moc
operator**
w Pythonie jest używany do podniesienia liczby po lewej do potęgi wykładnika po prawej. Oznacza to, że w wyrażeniu 5 ** 3
5 jest podniesione do trzeciej potęgi. W matematyce często widzimy to wyrażenie jako 53, a to, co naprawdę się dzieje, to 5 jest mnożone przez siebie 3 razy., W Pythonie otrzymamy ten sam wynik 125
uruchamiając 5 ** 3
lub 5 * 5 * 5
.
spójrzmy na przykład ze zmiennymi:
s = 52.25t = 7print(s ** t)
1063173305051.292
podniesienie float 52.25
do mocy 7
poprzez **
operator zwraca dużą wartość zmiennoprzecinkową.,
pierwszeństwo operatora
w Pythonie, podobnie jak w matematyce, musimy pamiętać, że operatory będą oceniane w kolejności pierwszeństwa, a nie od lewej do prawej lub od prawej do lewej.,
Jeśli spojrzymy na następujące wyrażenie:
u = 10 + 10 * 5
możemy odczytać je od lewej do prawej, ale pamiętaj, że mnożenie zostanie wykonane jako pierwsze, więc jeśli wywołamy print(u)
, otrzymamy następującą wartość:
Output60
dzieje się tak dlatego, że 10 * 5
ocenia do 50
, a następnie dodajemy 10
aby zwrócić 60
jako ostateczny wynik.,
You may be familiar with another acronym for the order of operations, such as BEDMAS or BODMAS., Niezależnie od tego, jaki akronim będzie dla Ciebie najlepszy, pamiętaj o tym podczas wykonywania operacji matematycznych w Pythonie, aby zwracane były oczekiwane wyniki.
operatory przypisania
najczęściej stosowanym operatorem przypisania jest ten, którego już używałeś: znak równości =
. Operator przypisania=
przypisuje wartość po prawej do zmiennej po lewej. Na przykład v = 23
przypisuje wartość liczby całkowitej 23
do zmiennej v
.,
podczas programowania często używa się operatorów przyporządkowania złożonego, które wykonują operację na wartości zmiennej, a następnie przypisują wynikową nową wartość do tej zmiennej. Te operatory złożone łączą operator arytmetyczny z operatorem=
, więc dla dodania połączymy+
z=
aby uzyskać Operator złożony+=
., Zobaczmy, jak to wygląda:
w = 5w += 1print(w)
Output6
najpierw ustawiamy zmienną w
równą wartości 5
, następnie użyliśmy +=
operator przypisania złożonego, aby dodać prawą liczbę do wartości lewej zmiennej, a następnie przypisać wynik do w
.,
operatory przypisania złożonego są często używane w przypadku pętli for, których użyjesz, gdy chcesz powtórzyć proces kilka razy:
for x in range (0, 7): x *= 2 print(x)
Output024681012
za pomocą pętli for udało nam się zautomatyzować proces *=
, który pomnożył proces.zmienna w
przy pomocy numeru 2
a następnie przydzieliła wynik zmiennej w
dla następnej iteracji pętli for.,
Python ma operator przypisania złożonego dla każdego z operatorów arytmetycznych omówionych w tym samouczku:
operatory przypisania złożonego mogą być przydatne, gdy rzeczy muszą być stopniowo zwiększane lub zmniejszane, lub gdy trzeba zautomatyzować pewne procesy w programie.
podsumowanie
Ten samouczek obejmuje wiele operatorów, których będziesz używać z typami danych integer i float numeric. Jeśli chcesz czytać dalej o liczbach w Pythonie, możesz kontynuować wbudowane funkcje Pythona 3 do pracy z liczbami.,
aby dowiedzieć się więcej o innych typach danych, zapoznaj się ze zrozumieniem typów danych w Pythonie 3 i dowiedz się, jak konwertować typy danych, czytając Jak konwertować typy danych w Pythonie 3.