LINUX.ORG.RU

Помощь по примеру c Python

 , ,


0

1

Привет.

Читаю книгу по Питону, и вот выполняю пример:

#thismod.py

var=99

def local():
	var=0

def glob1():
	global var
	var+=1

def glob2():
	var=0
	import thismod 
	glob.var+=1

def glob3():
	var=0
	import sys
	glob=sys.modules['thismod']
	glob.var+=1

def test():
	print(var)
	local() 
	glob1() 
	glob2() 
	glob3()
	print(var)

Потом в интерактивной оболочке импортирую модуль и получаю проблему в функции glob2():

>>> import thismod
>>> thismod.test()
99
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "./thismod.py", line 27, in test
    glob2() 
  File "./thismod.py", line 15, in glob2
    glob.var+=1
NameError: global name 'glob' is not defined
>>> 

Как же тогда правильно оформить вторую функцию?

Если интересно читаю книгу Лутца, стр.486

Спасибо.

★★★★★

Последнее исправление: ipeacocks (всего исправлений: 1)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.