Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

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

343
?????
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: 2 éve
4

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: 2 éve
2

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