Module und object scope (global name 'xx' is not defined)
Verfasst: Sonntag 27. Dezember 2009, 10:25
Hallo!
Ich versuche, ein Programm auf überschaubare Funktionssammlungen aufzuteilen. Aufgrund des Gültigkeitsbereichs von Objekten/Variablen funktioniert das nicht.
Ein Minimalbeispiel:
main.py:
module.py:
function.py:
Ich würde mich freuen, wenn mir jemand kurz schildern könnte, warum das so keine gute Idee ist, und wie die Aufteilung besser wäre. Vielen Dank.
Ich versuche, ein Programm auf überschaubare Funktionssammlungen aufzuteilen. Aufgrund des Gültigkeitsbereichs von Objekten/Variablen funktioniert das nicht.
Ein Minimalbeispiel:
main.py:
Code: Alles auswählen
import module
import function
ob_ject = module.cl_ass()
ob_ject.me_thod()
function.function()
Code: Alles auswählen
class cl_ass(object):
def __init__(self):
pass
def me_thod(self):
print "hello"
Code: Alles auswählen
def function():
global ob_ject
print type(ob_ject)
Code: Alles auswählen
File "function.py", line 7, in function
print type(ob_ject)
NameError: global name 'ob_ject' is not defined