Найти - Пользователи
Полная версия: Форматирование кода
Начало » Python для новичков » Форматирование кода
1 2
demas
А насколько безопасно (с учетом требования Python к отступам кода) форматировать текст так:

	return Product(self.treestore.get_value(iter, 0), 
self.treestore.get_value(iter, 1),
self.treestore.get_value(iter, 2),
self.treestore.get_value(iter, 3),
self.treestore.get_value(iter, 4))
Или есть какие то законные способы перенести код на новую строку?
Ferroman
в данном случае я обычно делаю так:
return Product(self.treestore.get_value(iter, 0), 
self.treestore.get_value(iter, 1),
self.treestore.get_value(iter, 2),
self.treestore.get_value(iter, 3),
self.treestore.get_value(iter, 4))

text = ('Long strings can be made up '
'of several shorter strings.')

output = (first + second + third
+ fourth + fifth + sixth)
Пока что проблем не было. Можно для переноса в выражениях можно использовать ‘\’ И в очень длинных строках тоже - используя многострочные strings
VeryLong.left_hand_side \
= even_longer.right_hand_side()

"""Triple
double
quotes"""

'''\
Triple
single
quotes\
'''
Но в данном случае можно сократить код и без этого.
crchemist
http://www.python.org/dev/peps/pep-0008/
crchemist
ще раз пишу http://www.python.org/dev/peps/pep-0008/ - треба так і тільки так
shiza
lorien
я обычно так форматирую:
return Product(
self.treestore.get_value(iter, 0),
self.treestore.get_value(iter, 1),
self.treestore.get_value(iter, 2),
self.treestore.get_value(iter, 3),
self.treestore.get_value(iter, 4),
)
И я тоже так пишу =)
vigorouz
Просто как вариант :-)
	
...
from functools import partial
v = partial(self.treestore.get_value, iter)
return Product(v(0), v(1), v(2), v(3), v(4))
Ferroman
Злобно, однако.
ZAN
Объединяя два предыдущих варианта :)
return Product(*map(lambda x: self.treestore.get_value(iter, x), xrange(5)))
return Product(*map(partial(self.treestore.get_value, iter), xrange(5)))
demas
vigorouz
Просто как вариант :-)
	
...
from functools import partial
v = partial(self.treestore.get_value, iter)
return Product(v(0), v(1), v(2), v(3), v(4))
Ух ты… Спасибо. Красиво.
vigorouz
demas
Ух ты… Спасибо. Красиво.
Ну не то чтоб красиво… просто прикольно :-) А самый красивый вариант предложил lorien
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