Eu comecei a aprender sobre python e atualmente é a leitura através de um roteiro escrito por outra pessoa. Notei que globals estão espalhados por todo o script (e eu não gosto) .. Além disso, eu também notei que quando eu tiver um código como este
def some_function():
foo.some_method()
# some other code
if __name__ == '__main__' :
foo = Some_Object()
some_function()
mesmo que eu não passar no foo em some_function (), mas some_function ainda é capaz de manipular foo (??!). Eu não gosto muito dessa embora seja um pouco semelhante ao fechamento Javascript (?). Eu gostaria de saber se é possível parar some_function () acessem foo se foo não é passado como um argumento função? Ou esta é a maneira preferida em python ??! (Eu estou usando python 2,5 sob Hardy ubuntu no momento)