Sz

Számok ebben a kurzusban: Python

78 feladat

A(z) Számok fogalomról

A Pythonnak három különböző beépített számítípusa van: az egész számok (int), a lebegőpontos számok (float) és a komplex számok (complex). A törtek (fractions.Fraction) és a tizedes törtek (decimal.Decimal) szintén elérhetők, ha importálod őket a szabványos könyvtárból.

Az egész számokat, köztük a hexadecimális (hex()), oktális (oct()) és bináris (bin()) számokat, tizedesjegyek nélkül szintén ints-ként azonosítja a Python:

# Ints are whole numbers.
>>> 1234
1234
>>> type(1234)
<class 'int'>

>>> -12
-12

A tizedespontot tartalmazó számokat (akár van tört részük, akár nincs) floats-ként azonosítja a Python:

>>> 3.45
3.45
>>> type(3.45)
<class 'float'>

Számítások

A Python teljes mértékben támogatja a különböző számítípusok közötti aritmetikát, és a bináris aritmetikai operátorokkal (+, -, *, /, // és %) együtt használva a szűkebb számokat a náluk tágabb párjukhoz alakítja.

Minden szám (a komplexek kivételével) támogatja az összes aritmetikai műveletet, amelyek kiértékelése az operátorprecedencia szerint történik. A komplex számok matematikai függvényeinek támogatása (a + és - operátoron túl) a cmath modulban található.

Összeadás és kivonás

Az összeadás és kivonás operátorai úgy viselkednek, mint a hétköznapi matematikában. Ha az operandusok közül egy vagy több float, a többi int is float típusúvá alakul:

>>> 5 - 3
2
# The int is widened to a float here, and a float is returned.
>>> 3 + 4.0
7.0

Szorzás

Az összeadáshoz és kivonáshoz hasonlóan a szorzás is a szűkebb számokat a náluk tágabb párjukhoz alakítja:

>>> 3 * 2
6

>>> 3 * 2.0
6.0

Osztás

Az osztás mindig float-ot ad vissza, még akkor is, ha az eredmény egész szám:

>>> 6/5
1.2

>>> 6/2
3.0

Egészrészes osztás

Ha int eredményre van szükséged, az egészrészes osztással levághatod az eredményt. Az egészrészes osztást a // operátor végzi:

>>> 6//5
1

>>> 6//2
3

Modulo

A modulo operátor (%) a két operandus osztásának maradékát adja vissza:

# The result of % is zero here, because dividing 8 by 2 leaves no remainder
>>> 8 % 2
0

# The result of % is 2 here, because 3 only goes into 5 once, with 2 left over
>>> 5 % 3
2

Ugyanezt másképp megközelítve az 5 % 3 esetén:

>>> whole_part = int(5/3)
1

>>> decimal_part = 5/3 - whole_part
0.6666666666666667

>>> whole_remainder = decimal_part * 3
2.0

Hatványozás

A hatványozást a ** operátor végzi:

>>> 2 ** 3
8

>>> 4 ** 0.5
2

Átalakítások

A számokat a beépített int() és float() függvényekkel int-ből floats-ba és floats-ből int-be alakíthatod:

>>> int(3.45)
3

>>> float(3)
3.0

Kerekítés

A Python beépített round(<number>, <decimal_places>) függvénye segítségével egy lebegőpontos számot adott számú tizedesjegyre kerekíthetsz. Ha nem adod meg a tizedesjegyek számát, a szám a legközelebbi egészre kerekedik, és az eredmény int lesz:

>>> round(3.1415926535, 2)
3.14

>>> round(3.1415926535)
3

Prioritás és zárójelek

A Pythonban zárójelekkel csoportosíthatod a kifejezéseket. Ez akkor hasznos, ha felül szeretnéd írni a műveletek alapértelmezett sorrendjét.

>>> 2 + 3 * 4
14

>>> (2 + 3) * 4
20

A Python az operátorprecedenciában a PEMDAS szabályt követi. Ez azt jelenti, hogy a () zárójeleken belüli számítások élvezik a legnagyobb prioritást, ezt követi a **, majd a *, /, //, %, + és -:

>>> 2 + 3 - 4 * 4
-11

>>> (2 + 3 - 4) * 4
4

# In the following example, the `**` operator has the highest priority, then `*`, then `+`
# Meaning we first do 4 ** 4, then 3 * 256, then 2 + 768
>>> 2 + 3 * 4 ** 4
770

Pontosság és ábrázolás

A Python egész számai tetszőleges pontosságúak: a számjegyek számát csak a gazdarendszer rendelkezésre álló memóriája korlátozza.

A lebegőpontos számokat általában a C nyelv double típusával valósítják meg (15 tizedesjegy pontossággal), de az ábrázolásuk a gazdarendszertől függően eltérhet. A komplex számoknak van egy real és egy imaginary része, amelyeket egyaránt lebegőpontos számok ábrázolnak.

A lebegőpontos aritmetika programozási nyelveken átívelő problémáiról és korlátairól részletesebben a 0.30000000000000004.com és a Python-oktatóanyag oldalon olvashatsz.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Számok fogalmat

A gyakorlás zárolva

Oldj fel még 3 feladatot, hogy gyakorolhasd a(z) Számok fogalmat