Zanurkuj w Pythonie/locals i globals: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Piotr (dyskusja | edycje)
m uciąłem trochę tę uwagę, dotyczyła starszych wersji pythona, tłumaczenie
Piotr (dyskusja | edycje)
Linia 45:
# Pamiętaj, Python jest dynamicznie typowany, dlatego też możemy w prosty sposób jako argument <tt>arg</tt>, przekazać napis. Funkcja (a także wywołanie <tt>locals</tt>) będą nadal działać jak należy. <tt>locals</tt> działa z wszystkimi zmiennymi dowolnych typów danych.
 
To co <tt>locals</tt> robi dla lokalnej (funkcji) przestrzeni nazw, <tt>globals</tt> robi dla globalnej (modułu) przestrzeni nazw. <tt>globals</tt> jest bardziej ekscytujące, ponieważ przestrzeń nazw modułu jest bardziej pasjonująca <ref>To zdanie za wiele nie wnosi.</ref>. Przestrzeń nazw modułu nie tylko przechowuje zmienne i stałe na poziomie tego modułu, lecz także funkcje i klasy zdefiniowane w tym module. Ponadto dołączone do tego jest cokolwiek, co zostało zaimportowane do tego modułu.
What locals does for the local (function) namespace, globals does for the global (module) namespace. globals is more exciting, though, because a module's namespace is more exciting <ref>I don't get out much</ref>. Not only does the module's namespace include module-level variables and constants, it includes all the functions and classes defined in the module. Plus, it includes anything that was imported into the module.
 
RememberPamiętasz theróżnicę difference betweenmiędzy <tt>from module import</tt> anda <tt>import module</tt>? WithZa pomocą <tt>import module</tt>, thezaimportujesz modulesam itselfmoduł, isktóry imported,zachowa butwłasną itprzestrzeń retainsnazw, itsa to ownjest namespaceprzyczyną, whichdlaczego ismusisz whyodwołać yousię needdo tonazwy usemodułu, theaby module name todostać accesssię anydo ofjakiejś itsfunkcji functionslub oratrybutu attributes:(pisząc <tt>module.function</tt>. ButZ withkolei za pomocą <tt>from module import,</tt> you'rerzeczywiście actuallyimportujesz importingdo specificwłasnej functionsprzestrzeni andnazw attributesokreśloną fromfunkcje another modulei intoatrybuty yourz owninnego namespacemodułu, whicha isdzięki whytemu youodwołujesz accesssię themdo directlyniego withoutbezpośrednio, referencingbez thewskazywania originalmodułu, modulez theyktórego cameone frompochodzą. With theDzięki funkcji <tt>globals</tt> functionmożemy zobaczyć, you can actuallyże seerzeczywiście thistak happenjest.
 
'''ExamplePrzykład 8.11. IntroducingWprowadzenie do <tt>globals</tt>'''
 
Look at the following block of code at the bottom of BaseHTMLProcessor.py: