
Roman
29.03.2017
07:03:35
вот строка которую разбераю
1 ; HH ; CLASH ; PYRAMID 1 of SUBSTRUCTURE 1 of STRUCTURE /MCC7/8_AC ; PANEL 1 of FRMWORK 1 of STRUCTURE 1 of ZONE /GENERAL-STRU/CIVIL_PSE ; PYRA/PANE ; 138124mm ; 115269mm ; 85801mm ; 138124.00mm ; 115269.00mm ; 85801.00mm ; =16393/8210035 ; =22717/5 ; =16393/8210036 ; =22717/5 ; /01-07-CS-CTA-Containers ; /GENERAL-STRU/CIVIL_PSE ; 1_16393_8210036_22717_5_Iso1.png ; 1_16393_8210036_22717_5_Iso2.png ::
g = data.split(';')
print g

Google

53r63rn4r
29.03.2017
07:04:05
Так, кароче, пиздуйте в @python_beginners

x3233
29.03.2017
07:04:25
хех)

53r63rn4r
29.03.2017
07:04:40

Roman
29.03.2017
07:04:57

Igelko
29.03.2017
07:22:58
Если серьёзно, то книга gof и большинство других это описательные, а не предписательные книги. "Вот мы посмотрели, как люди делают, и вот такие нашли характерные структурные элементы". Можно утверждать, что какой-то конкретный паттерн вреден вообще или в конкретном случае, или что лепить побольше паттернов, потому что ты можешь, это во вред архитектуре. Но говорить, что они не нужны, очень странно.
едиственный паттерн - нормально делай, нормально будет.
а когда "чтобы не нарушать архитектуру, давайте здесь запилим вот этот паттерн" - путь в никуда, потому что если задача переросла архитектуру, то её пора к чёрту ломать.

Dmitriy
29.03.2017
07:36:45

Aragaer
29.03.2017
07:53:29
Есть еще одна правильная книга - refactoring to patterns. Там в итоге логика примерно такая - "если вам надо иметь ровно один инстанс объекта, то это делается паттерном синглтон, поэтому можете не изобретать велосипед, а говорить на общем языке"

Eldar
29.03.2017
08:12:29
опачки, работа подъехала)

here1am
29.03.2017
08:13:01
на самом деле конкурент

Eldar
29.03.2017
08:13:18
зацените что мне подогнали:D

53r63rn4r
29.03.2017
08:15:10

Google

Igelko
29.03.2017
09:08:18

Aragaer
29.03.2017
09:13:26
ну да, в книге как раз приведены примеры правильно написанного. А в refactoring to patterns примеры как из неправильного сделать правильное

Stanislav
29.03.2017
09:14:36

Ruslan
29.03.2017
09:15:40
что такое паттерны?

Stanislav
29.03.2017
09:17:13

arisu
29.03.2017
09:17:40
?
это точно чат с инженерами?

Artem
29.03.2017
09:17:55
bombanulo

Александр
29.03.2017
09:18:55
А есть чёнить про паттерны в питоне? Бездумно натягивать джавашные as is - безыдейно. inb4: кукбук от Бизли. Ещё?

Alex
29.03.2017
09:19:37
а какая разница? шаблоны проектирования это концепция ООП а не питона
хоть на абап их натягивай.

Stanislav
29.03.2017
09:21:15

53r63rn4r
29.03.2017
09:21:18

Александр
29.03.2017
09:22:06
ну не совсем, не будем мыслить ограничениями. Выдумывалось для джавы (поправьте если нет) —> джава ООП-язык —> паттерны внезапно ООПшные. Питон не только ООП поддерживает, следовательно ряд вещей можно делать иначе.
Т.е. использовать подходящие средства языка

Stanislav
29.03.2017
09:23:03

Thae
29.03.2017
09:23:12
*для джавы и плюсов

Stanislav
29.03.2017
09:23:24
Хотя да, лучше кидать каждый класс в отдельный файл

Alex
29.03.2017
09:23:57

Google

Igelko
29.03.2017
09:24:11

Stanislav
29.03.2017
09:24:26

Igelko
29.03.2017
09:24:55

Alex
29.03.2017
09:25:35

Stanislav
29.03.2017
09:26:00

Alex
29.03.2017
09:26:10

Александр
29.03.2017
09:26:28

Igelko
29.03.2017
09:26:55
вместо большей части паттернов достаточно передачи функции как аргумента в другую

Stanislav
29.03.2017
09:27:20

Александр
29.03.2017
09:27:49

Alex
29.03.2017
09:28:02

Михаил
29.03.2017
09:29:14
В образовательных целях

Igelko
29.03.2017
09:29:24

Александр
29.03.2017
09:29:32

Stanislav
29.03.2017
09:29:57

Александр
29.03.2017
09:31:57

Eldar
29.03.2017
09:34:17
где-то слышал мнение, что сия книженция уже устарела
типо самый топ - это книжка Теплякова - паттерны проектирования

Google

Igelko
29.03.2017
09:35:49

Eldar
29.03.2017
09:39:01
как вообще читать книжки про паттерны, если мне после двух страниц очень хочется спать(

Igelko
29.03.2017
09:39:40

Eldar
29.03.2017
09:40:24
?

BaLoo
29.03.2017
09:42:36
Народ, подскажите, что тут не так?
res = sum([1,2], start=1)

Igelko
29.03.2017
09:43:02

Eldar
29.03.2017
09:44:02

Сергей
29.03.2017
09:49:21

Admin
ERROR: S client not available

BaLoo
29.03.2017
09:49:58

Сергей
29.03.2017
09:50:19
конкретно эта функция не принимает именованных аргументов

Pavel
29.03.2017
09:50:20
гейство, кстати, с этим стартом. в help(sum) он есть, а передать именовано - нельзя.
>>> help(sum)
Help on built-in function sum in module builtins:
sum(iterable, start=0, /)

BaLoo
29.03.2017
09:50:40
Вот именно.

Vasiliy
29.03.2017
09:51:02

Pavel
29.03.2017
09:51:20
>>> def ssum(iterable, start=0):
... pass
...
>>> ssum([1,2], start=1)
>>> sum([1,2], start=1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sum() takes no keyword arguments

BaLoo
29.03.2017
09:52:49
Окей, а теперь второй раунд. Как сделать суммирование списку из пользовательских классов?

53r63rn4r
29.03.2017
09:53:10
редюс?

Марк
29.03.2017
09:53:31
Вли нахуй

Сергей
29.03.2017
09:53:35
def summ(iterable, start=0):
sum(iterable, start)
sum = summ

Google

BaLoo
29.03.2017
09:53:40
При попытке написать так
ss = sum(lst, Press(0,0,0))
он склеивает из этого tuple.

Pavel
29.03.2017
09:54:07

BaLoo
29.03.2017
09:54:12
В классе определён метод radd.
lst - список пользовательских классов.
Классов Press.
BasePress = collections.namedtuple('Press', ['Systolic', 'Diastolic', 'Pulse'])
class Press(BasePress):
def __radd__(self, other):
import copy
newself = copy.deepcopy(self)
newself.Systolic += other.Systolic
newself.Diastolic += other.Diastolic
newself.Pulse += other.Pulse
return newself

Eldar
29.03.2017
09:55:24
бло. тебе только что дали справку по sum и показали что она принимает итерируемые объект на вход
ОДИН!

BaLoo
29.03.2017
09:55:38
Лист - не итерируемый?
И как ему тогда указать начальное значение?

Eldar
29.03.2017
09:55:57

Сергей
29.03.2017
09:56:01
iterable должен иметь метод __iter__, иначе будет восприниматься как один элемент.

Eldar
29.03.2017
09:56:10
а вот второй объект наверное нет

BaLoo
29.03.2017
09:56:23

Eldar
29.03.2017
09:56:58
хз, не я этот код писал

Сергей
29.03.2017
09:57:07

BaLoo
29.03.2017
09:58:57

Сергей
29.03.2017
09:59:13
возвращать генератор
или другой итератор

Eldar
29.03.2017
09:59:48

53r63rn4r
29.03.2017
09:59:48
Кароче вы его щас запутаете