Страница 1 из 1
[Python]
Добавлено: 2011-05-20 8:06:04
de-signer
Привет.
Я сам не пишу на Python, но надо передрать с него алгоритм. Основы я понимаю но бывают фишки.
1.
Что будет в переменной param? Она не была ни объявлена ни инициализирована каким нибудь способом.
2. pass = ничего не делать, идти дальше?
Re: [Python]
Добавлено: 2011-05-20 8:29:20
de-signer
Блин. Рок какой-то. Опять вопрос в тему поста не написал....
Re: [Python]
Добавлено: 2011-05-20 8:52:09
FreeBSP
парам как раз тут и объявляется. скорее всего содержит параметры вызова функции someproc
Re: [Python]
Добавлено: 2011-05-20 8:56:55
de-signer
param - это я от балды написал....
ММммм..
Код: Выделить всё
class Loader(GenericLoader):
def __init__(self, file, filename, match):
GenericLoader.__init__(self, file, filename, match)
self.fix_tile = None
self.fix_clip = 0
self.fix_lens = ()
self.object = None
self.filename =filename
self.verbosity=False
self.info = None
self.file=file
........
def import_curves(self):
for obj in self.info.paths_heap:
if obj==1:
self.begin_group()
elif obj==0:
self.end_group()
else:
style = self.style <--------------это как понимать?
if obj.colorIndex:
if self.info.fill_data.has_key(obj.colorIndex):
style.fill_pattern = SolidPattern(self.info.fill_data[obj.colorIndex])
else:
style.fill_pattern = EmptyPattern
else:
style.fill_pattern = EmptyPattern
Re: [Python]
Добавлено: 2011-05-20 9:00:14
de-signer
Loader.style не определён в классе.
self подразумевает Loader
Никак не въеду в строку Loader.style=Loader.style - это что? Индийский способ инициализации переменной?
Re: [Python]
Добавлено: 2011-05-20 9:40:41
FreeBSP
как я прнимаю - в функции import_curves создается локальная копия self.style
кури про области видимости и локальные переменные
Re: [Python]
Добавлено: 2011-05-20 11:13:37
de-signer
Разобрался.
style объявлена в GenericLoader
эта строка означает GenericLoader.style = self.style - инициализация родительской переменной. Правда не знаю зачем. Разберу код дальше может пойму.