Keresés

Keresendő kifejezés:

Toplista

Toplista
  • betöltés...

Segítség!

Ahhoz, hogy mások kérdéseit és válaszait megtekinthesd, nem kell beregisztrálnod, azonban saját kérdés kiírásához ez szükséges!

Az import math egyenlő a from math import * -al? Python

102
?????
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika

Válaszok

3
Igen, több szerkezetet is biztosít, ha jól tudom.

ifigazsi válasza után úgy érzem, hogy kicsit ki kell egészítenem a válaszom, hogy megérdemelt legyen a megoldásnak jelölés. Kicsit jobban utánanéztem.

Szóval a végeredmény, és amire valószínűleg te használni akarod, az ugyanaz. Annyi, hogy a névterekkel történik bűvészkedés.

Az "import math" kifejezés betölti a math modult, és egy referenciát (hivatkozást) hoz létre a math modulra az aktuális névtérben. Ezután kell "teljes" útvonallal megadnod, hogy mit szeretnél használni. Ilyenkor ezért kell a math.sqrt(x).

A "from math import *" kifejezés szintén betölti a math modult, csak annyi különbséggel, hogy a math által tartalmazott összes publikus eleme (változó, függvény, stb.) készül referencia az aktuális névtérbe. Ebből következik, hogy nem kell innentől kezdve a modul nevét is leírnod egy-egy hivatkozásnál, hanem pl. használhatod önmagában az elemeit, pl. sqrt(x).

Egy dologra viszont figyelni kell, ha a from VALAMI import MÉGVALAMI szerkezetet használod. Mégpedig arra, hogy a névteredbe töltesz be! Így ha van két azonos nevű függvény két külön modulban, de mindkettő from-mal lett betöltve, akkor az lesz így elérhető, amelyiket utoljára importáltad.
Módosítva: 1 hónapja
3

Nem.
import math -> pl. math.sqrt()
from math import * ->pl. sqrt()

import math as m
És akkor m-kent hivatkozol rá.
Pl. m.cos()/m.sqrt()

vagy

from math import cos as koszinusz
print(koszinusz(1))

A csillagos importalas esetén:
from math import *
sqrt() simán meg tudod hívni. (nem szerencsés)
Módosítva: 1 hónapja
1

Kicsit kiegészítettem a válaszom, hogy ifigazsi válasza után megérdemelt legyen a megoldásnak jelölésem.
2