Уведомления

Группа в Telegram: @pythonsu

#1 Май 22, 2011 12:37:57

BSS
От:
Зарегистрирован: 2011-05-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Классы

class State(BSS):
def __init__(self,f):
f = open('state1.xml')
f = BSS.__init__(self,f.read())
print State(f)
Объясните, почему выдает ошибку, что переменная f не найдена? Сначала этот же код работал. Правда я после строки “f = BSS.__init__(self,f.read())” еще использовал f.close().



Офлайн

#2 Май 22, 2011 12:55:54

Vader
От:
Зарегистрирован: 2010-01-30
Сообщения: 152
Репутация: +  0  -
Профиль   Отправить e-mail  

Классы

print State(f)
И откуда эта f взялась? Она ведь нигде не объявлена.



Офлайн

#3 Май 22, 2011 13:00:44

BSS
От:
Зарегистрирован: 2011-05-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Классы

я еще только изучаю питон, я думал если в классе есть переменная f, то ее можно получить через State(f)…
если перед выводом ставлю f=(любое значение), то код работает… как будет правильней объявить?



Офлайн

#4 Май 22, 2011 13:02:56

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Классы

Может это имелось ввиду?

class State(BSS):
def __init__(self, filename):
fd = open(filename)
fd = BSS.__init__(self, fd.read())

print State('state1.xml')
Соблюдай отступы и задавай понятные имена атрибутам или возвращайся на PHP.

p.s. `State(f)` создаёт экземпляр класса State с передачей конструктору `f` которая ранее у тебя нигде не объявлена и в самом конструкторе (точнее при инициализации уже созданного объекта) даже не используется. Учи твою мать часть.

..bw



Отредактировано (Май 22, 2011 13:06:03)

Офлайн

#5 Май 22, 2011 13:09:33

BSS
От:
Зарегистрирован: 2011-05-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Классы

Спасибо большое, bw! Именно это и было нужно! На пхп не вариант, т.к. блендер с ним не работает:)



Офлайн

#6 Май 22, 2011 13:10:52

BSS
От:
Зарегистрирован: 2011-05-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Классы

Хорошо!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version