2011-08-23 12 views

Odpowiedz

12

from package import * importuje wszystko z pakietu do lokalnej przestrzeni nazw; nie jest to zalecane, ponieważ może wprowadzić niepożądane rzeczy (takie jak funkcja, która nadpisuje lokalną). Jest to szybkie i poręczne narzędzie do importowania, ale w przypadku poważnych problemów należy użyć składni from package import X,Y,Z lub import package.

import package importuje wszystko z pakietu do lokalnego obiektu package. Jeśli więc pakiet implementuje funkcję something(), użyjesz go przez package.something().

Ponadto, inna sprawa, że ​​powinny być rozmawialiśmy o jest zagnieżdżony przypadek nazw: załóżmy, że masz funkcję package.blabla.woohoo.func() można import package.blabla.woohoo i używać package.blabla.woohoo.func(), ale to jest zbyt skomplikowane. Zamiast tego w łatwy sposób można to zrobić pod numerem from package.blabla import woohoo, a następnie użyć woohoo.func() lub from package.blabla.woohoo import func, a następnie użyć func(). Mam nadzieję, że to ma sens. Jeśli nie, oto kawałek kodu do zilustrowania:

import package.blabla.woohoo 
package.blabla.woohoo.func() 

from package.blabla import woohoo 
woohoo.func() 

from package.blabla.woohoo import func 
func() 

Nadzieja to pomaga :)

3

Różnica jest stosowanie nazw dla pakietu.

from package import * 
class_in_package() 

vs

import package 
package.class_in_package() 
Powiązane problemy