Výňatek z příručky k studiu pythonu pro záznam.
Klient může spustit příkaz import nebo from. Pokud modul není načten, tyto příkazy vyhledávají, kompilují a spustí soubor modulu. Hlavní rozdíl je v tom, že import čte celý modul, takže musí být definován před tím, než lze přečíst jeho název proměnné; from získá (nebo zkopíruje) názvy proměnných specifických pro modul.
import způsobuje, že název proměnné odkazuje na celý objekt modulu, takže vlastnosti modulu musí být získány jménem modulu (např. module1.printer). a from zkopíruje název proměnné do jiného rozsahu, takže může použít zkopírované jméno proměnné přímo ve skriptu, aniž by musel procházet modulem (např. tiskárnou).
From Statement má potenciál narušit jmenné prostory. Pokud importujete proměnné pomocí from, a tyto proměnné jsou zdvojené s existujícími proměnnými v rozsahu, budou tiše přepsány. To není problém při použití importních příkazů, protože jeho obsah musí být získán podle názvu modulu. Nicméně při použití from to v praxi není velký problém, pokud tomu rozumíte a očekáváte to, zvlášť pokud jasně uvádíte názvy importovaných proměnných (např. z modulu import x, y, z).
Na druhou stranu, při použití s reload voláním má příkaz from vážný problém, protože importované jméno proměnné může odkazovat na předchozí verzi objektu. Navíc formulář z modul import * může skutečně narušit jmenný prostor a ztížit pochopení názvů proměnných, zejména při importu více než jednoho souboru.
Pragmatičtější návrh je, že jednoduché moduly obvykle používají import místo from. Většina příkazů z se používá k explicitnímu vyjmenování požadovaných proměnných a je omezena na použití tvaru z * pouze jednou na soubor. Tímto způsobem lze jakékoli nedefinované jméno proměnné považovat za existující v modulu odkazovaném z *. Opravdu musíte použít import, když musíte použít stejnou proměnnou s názvem proměnné definovanou ve dvou různých modulech, v takovém případě to nemůžete použít.
Hodně jsem mluvil, nevím, co říct, pojďme si o tom krátce promluvit.
- import Modul # Představit moduly
- z importu modulu Jiné # Představte třídy, funkce nebo proměnné v modulu
- z importu modulu * # Představte všechny 'veřejné' členy v modulu
Laicky řečeno:
importovat třídu #把整个一班的学生引入了进来
od skupiny importovaných Xiao Wang #只把一般的小王引入了进来
Například:
Příkladem je časový balíček a následující dvě metody zápisu jsou stejné, a to následovně:
|