Найти - Пользователи
Полная версия: Классы
Начало » Python для новичков » Классы
1
BSS
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().
Vader
print State(f)
И откуда эта f взялась? Она ведь нигде не объявлена.
BSS
я еще только изучаю питон, я думал если в классе есть переменная f, то ее можно получить через State(f)…
если перед выводом ставлю f=(любое значение), то код работает… как будет правильней объявить?
bw
Может это имелось ввиду?
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
BSS
Спасибо большое, bw! Именно это и было нужно! На пхп не вариант, т.к. блендер с ним не работает:)
BSS
Хорошо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB