Форум сайта python.su
vigorouzМожет быть, но для меня он не понятен.demasНу не то чтоб красиво… просто прикольно :-) А самый красивый вариант предложил lorien
Ух ты… Спасибо. Красиво.
return Product(*(self.treestore.get_value(iter, x) for x in xrange(5)))
Офлайн
Это значит запаковать аргументы функции в список при получении в теле функции:
>>> def fun(*args):
... '''do something'''
>>> def fun(x, y, z):
... print x, y, z
>>> myList = [1,2,3]
>>> fun(*myList)
1 2 3
Отредактировано (Окт. 17, 2008 12:22:15)
Офлайн
Здравствуйте!
Согласно PEP 8 для переменных, функций и методов следует использовать имена в стиле foo_bar, а для классов — FooBar. При объявлении и создании обектов их следует именовать в том же стиле?
class App:
...
if __name__ == "__main__":
Main = App ()
...
Офлайн
> для переменных
Поясню. Main это переменная. Вообще ты можешь использовть другие нотации, даже свои, никто не заставляет тебя пользоваться идеями одного/другого человека.
Тут вот еще о чем стоит подумать, Main в данном случае вполне может выглядеть классом. Т.е. быть вызываемым, если, скажем, App содержит метод __call__, тогда чем хуже Main того же App, по основному признаку - класс. Имена все же стоит по назначению, а не по происхождению давать.
Но вопрос сложный и интересный, я несколько раз менял свою ориентацию по именованию, даже в масштабах одного проекта.
..bw
Офлайн
Думаю, что все рано или поздно, через это проходят.
В данный момент я стараюсь следовать pep8 везде, где нет PyQt. А с PyQt перестраиваюсь на его стиль.
bwИМХО эти вещи лучше стандартизировать, иначе код теряет читаемость. Да и перестраиваться, чтобы прочитать чужой, правильно оформленный, код бывает тяжело.
Вообще ты можешь использовть другие нотации, даже свои, никто не заставляет тебя пользоваться идеями одного/другого человека.
Офлайн
Думаю, остановлюсь на варианте main = App ()… Все-таки, по первичным половым признакам, main - есть переменная. :)
Согласен с ZZZ в вопросе стандартизирования. Кстати, это одна из очевидных архитектурных прелестей языка, который априори требует некоторой унификации. ;) PEP - это очень правильно, IMHO! 8)
Офлайн
ZZZ, да в третьей версии вроде серьезный список изменений, в т.ч. и переход на UTF-8.
Офлайн
Не скольно переход на UTF-8, сколько прозрачное использование unicode там, где содержаться символьные (текстовые) данные. А то сегодня у нас в str хранится и “Хелоу Ворлд!” и образ диска…
Ну и:
PEP 8
Encodings (PEP 263)
Code in the core Python distribution should aways use the ASCII or
Latin-1 encoding (a.k.a. ISO-8859-1). For Python 3.0 and beyond,
UTF-8 is preferred over Latin-1, see PEP 3120.
Офлайн
В торойке - не исправят. Много полезных изменений, но стандартизация правил написания - не в их числе.
Как-то читал книжку Александреску и Саттера - это мастера программирования на С++.
Во введении был кусочек, посвященный правилам форматирования. Вкратце: они могут быть любыми, лишь бы в рамках одного namespace (читай модуля или библиотеки) соблюдались. И еще понравилась фраза: “Если бы программисты вместо бесполезных споров о code convesions работали бы над самим кодом - программы были бы лучше, красивее, быстрее”.
Как-то так.
Офлайн
Ууу… В Си это вообще страшно! Там народ уже годами спорит о том, как правильно фигурные скобки ставить…
В питоне этот вопрос особо не стоит, потому что есть pep-8 и всегда можно сказать, что наш пожизненный и великодушний диктатор сказал, что правильно так. А его ошибки – он тоже всего лишь человек.
Офлайн