
Sheridan
23.01.2019
00:13:45
в метод должно приезжать чотко определенные, нужные для работы метода парметры

Donaudampf
23.01.2019
00:13:59

Владимир
23.01.2019
00:14:34

Sheridan
23.01.2019
00:14:36

Google

Sheridan
23.01.2019
00:15:15

Владимир
23.01.2019
00:15:26

Donaudampf
23.01.2019
00:15:38

Sheridan
23.01.2019
00:16:36

Владимир
23.01.2019
00:16:57

Sheridan
23.01.2019
00:17:07
да, пофиг какие конструкторы?

Владимир
23.01.2019
00:17:27

Sheridan
23.01.2019
00:17:42
не пустота, а None

Donaudampf
23.01.2019
00:18:14

Владимир
23.01.2019
00:18:16

Sheridan
23.01.2019
00:18:42

Google

Sheridan
23.01.2019
00:19:25
ты говоришь что тебе из формы прилетает куча полей
я так понимаю что ты не знаешь каких
всё просто. Бери те что знаешь и работай с ними, пока получившие люлей джуны не напишут нормальную доку на оставшиеся.

Владимир
23.01.2019
00:20:49

Sheridan
23.01.2019
00:21:09
а если серьезно, то я соабо представляю себе ситуацию "я не знаю какие и сколько данных ко мне приедет но знаю что с ними делать". Архиватор разве что

Владимир
23.01.2019
00:23:27
Так что переменное число аргументов ф-и — это нормально. ТЕм более, если это kwargs

Sheridan
23.01.2019
00:24:41


Donaudampf
23.01.2019
00:24:54
всё просто. Бери те что знаешь и работай с ними, пока получившие люлей джуны не напишут нормальную доку на оставшиеся.
In [462]: class A:
...: def __init__(self, my_arg):
...: print('Init A:', my_arg)
...:
In [463]: class B(A):
...: def __init__(self, my_arg, *args, **kwargs):
...: super().__init__(*args, **kwargs)
...: print('Init B:', my_arg)
In [464]: class C(A):
...: def __init__(self, my_arg1, my_arg2, *args, **kwargs):
...: super().__init__(*args, **kwargs)
...: print('Init C:', my_arg1, my_arg2)
In [465]: class D(B, C):
...: def __init__(self, my_arg, *args, **kwargs):
...: super().__init__(*args, **kwargs)
...: print('Init D:', my_arg)
In [466]: d = D('D', 'B', 'C1', 'C2', 'A')
Init A: A
Init C: C1 C2
Init B: B
Init D: D
In [467]: c = C('C1', 'C2', 'A')
Init A: A
Init C: C1 C2

Sheridan
23.01.2019
00:25:01
в питоне почемуто такое - норма
ну ок
примем за особенность языка

Владимир
23.01.2019
00:26:01

Sheridan
23.01.2019
00:26:25

Donaudampf
23.01.2019
00:26:32

Владимир
23.01.2019
00:26:38
я видел лисп
мне норм все
кобол не предлагать

Sheridan
23.01.2019
00:27:01
я видел лисп
ну на lua например еще у меня конфиг оконного манагера :)

Google

Владимир
23.01.2019
00:27:15
awasomewm который?

Sheridan
23.01.2019
00:27:26

Владимир
23.01.2019
00:27:40
на втором буке болтается

Donaudampf
23.01.2019
00:28:05
In [462]: class A:
...: def __init__(self, my_arg):
...: print('Init A:', my_arg)
...:
In [463]: class B(A):
...: def __init__(self, my_arg, *args, **kwargs):
...: super().__init__(*args, **kwargs)
...: print('Init B:', my_arg)
In [464]: class C(A):
...: def __init__(self, my_arg1, my_arg2, *args, **kwargs):
...: super().__init__(*args, **kwargs)
...: print('Init C:', my_arg1, my_arg2)
In [465]: class D(B, C):
...: def __init__(self, my_arg, *args, **kwargs):
...: super().__init__(*args, **kwargs)
...: print('Init D:', my_arg)
In [466]: d = D('D', 'B', 'C1', 'C2', 'A')
Init A: A
Init C: C1 C2
Init B: B
Init D: D
In [467]: c = C('C1', 'C2', 'A')
Init A: A
Init C: C1 C2
вот тут D наследуется от B и C, у которых разное количество аргументов в ините, так надо было?

Sheridan
23.01.2019
00:28:54

Donaudampf
23.01.2019
00:29:41

Sheridan
23.01.2019
00:32:35
это она и есть, кварги ровно для того и предназначены. Религиозные убеждения я лечить не готов, сори
кварги предназначены исключительно для решщения проблем питона, нерешаемых обычными для других языков способами. Например вот такое подобное множественное наследование.
Кварги так же полезны при тяп-ляп-продакшн, где можно не беспокоиться за доступность нужных данных, ибо все приедет в десятимегабайтном кварге и надо будет оттуда всего один ключик дернуть.
К счастью в проектах, в реальных проектах кварги исключительно редки. На проде я их видел всего два раза.

Donaudampf
23.01.2019
00:33:10
вообще забавно, это примерно как попросить написать программу на плюсах, но не используя const, например, потому что какого хрена они меня ещё ограничивать будут

Sheridan
23.01.2019
00:33:25

Donaudampf
23.01.2019
00:33:55
нужно больше говнокода

Sheridan
23.01.2019
00:34:06
не от меня

Sheridan
23.01.2019
00:34:12
я без кваргов буду

Donaudampf
23.01.2019
00:34:43
ладно, по крайней мере мы разобрались, что проблема не в питоне, а в индивидуальных своеобразных хотелках

Владимир
23.01.2019
00:34:49
запросто
не надо писать на питоне как на плюсах. Это будет плохой код. Разные языки, разные парадигмы. Не будешь же писать на лиспе как на плюсах, а на С как на питоне.

Donaudampf
23.01.2019
00:34:50
думаю, тему можно закрывать

Sheridan
23.01.2019
00:35:17
но по щелчку такое не работает
ну и множественное наследование это не тот наркотик, с которого так просто слезть можно

Владимир
23.01.2019
00:36:04
я вот в Го не мог привыкнуть к некоторым вещам, но это даже прикольно. Что-то новое

Google

Владимир
23.01.2019
00:37:13
Да и питон как не откроешь доку, так что-то новое))) Слишком много материала

Sheridan
23.01.2019
00:37:15
до го у меня руки никак не дойдут написать наконец nftables_exporer для прометея...

Владимир
23.01.2019
00:37:51
а у меня еще iptables))

Admin
ERROR: S client not available

Donaudampf
23.01.2019
00:38:12

Sheridan
23.01.2019
00:38:25
если докер есть то не судьба
докер nftables не умет

Владимир
23.01.2019
00:39:01

Sheridan
23.01.2019
00:39:54
а nftables красивые )))

Владимир
23.01.2019
00:40:54

Sheridan
23.01.2019
00:42:01
понимаешь ли... писать докеркомпоз+докер например по трудозатратам едва ли больше чем ansible
бля
4 утра
снов!

Владимир
23.01.2019
00:42:39
я не про ансибл
снов!
Есть еще один способ, если хочется ясности, но args, kwargs не избежать — используй аннотации типов. Все будет ясно и понятно

Грыня
23.01.2019
03:46:34
шаломчики

Google

Грыня
23.01.2019
03:47:06
посоны как в саблайме посмотреть функции импортированого модуля ?

SetazeR
23.01.2019
03:49:10

Грыня
23.01.2019
03:49:29
не

SetazeR
23.01.2019
03:50:01
шикарно, ещё один плюс пайчарму

Грыня
23.01.2019
03:50:02
может плагин какойто надо поставить ?

SetazeR
23.01.2019
03:50:13
может, не знаю, гугли
оправдывешь свой ник? пин не читал? пастебином пользоваться не учили?
что за бред написан вообще?
сначала ты делаешь реплай клаву
потом инлайн клаву
тебе что надо-то?
афк короче

OnlyGet
23.01.2019
03:57:32
Ну сиди афк.