@ru_python

Страница 7507 из 9768
Tishka17
24.12.2018
07:54:45
Что там в супер будет передано?

Точнее как он определяет что туда надо передать

SetazeR
24.12.2018
07:55:28
ты мне кажется тут какую-то рекурсию запилил

Tishka17
24.12.2018
07:55:42
Ага, я старался

Google
Tishka17
24.12.2018
07:55:57
Лень было рабочий код выдумывать

?
24.12.2018
07:56:05
ну он туда передаст класс, внутри которого находится, я подозреваю

так он и догадается

Tishka17
24.12.2018
07:56:18
А. Ну self везде потерял

SetazeR
24.12.2018
07:56:34
не страшно, мы тебя и так поняли

Tishka17
24.12.2018
07:56:39
так он и догадается
Как он определяет?

?
24.12.2018
07:56:47
Tishka17
24.12.2018
07:56:50
Он внутри двух классов находитмя

Олег
24.12.2018
07:57:09
?

Tishka17
24.12.2018
07:57:29
Как в жс мб?)
В жс есть классы?

?? Eugene
24.12.2018
07:57:34
надо проверить

Google
Олег
24.12.2018
07:57:48
В жс есть классы?
https://learn.javascript.ru/es-class

Nikitcat
24.12.2018
07:58:19
синтаксический сахар там есть в виде классов

Tishka17
24.12.2018
07:58:30
https://learn.javascript.ru/es-class
В жс кроме супер ещё есть магический this

Олег
24.12.2018
07:58:44
ну вот кстати да, который фиг поймешь как работает))

Nikitcat
24.12.2018
07:58:45
передастся то, что находится в базовом классе

Олег
24.12.2018
07:58:50
а еще там sort смешно работает)

Nikitcat
24.12.2018
07:59:00
SetazeR
24.12.2018
07:59:07
нужен ЯП с ключевам словом dis

Tishka17
24.12.2018
07:59:14
тот же self, контекст вызова
Нет. В питоне Селф передаётся в функцию

Как параметр

Nikitcat
24.12.2018
07:59:35
Нет. В питоне Селф передаётся в функцию
ну это сделано для элегантности

чтобы поняли людишки

Олег
24.12.2018
07:59:50
и кстати не обязательно self

можно везде писать хер:Р

ну вы поняли:Р

?
24.12.2018
08:00:14
но не нужно

Олег
24.12.2018
08:00:28
ну это да)

Vladislav
24.12.2018
08:00:41
ну это сделано для элегантности
это сделано для того чтобы не переусложнять и без того костыльную систему scope'ов

SetazeR
24.12.2018
08:00:59
очень интересно

Sergey
24.12.2018
08:01:06
Google
?? Eugene
24.12.2018
08:01:19
Вот смотри, class A: def x(): pass class B(A): def x(): class C(B): def x(): super().x() return C().x()
ахах это реально рекурсия, у меня питон вылетел с ошибкой превышения стека

Tishka17
24.12.2018
08:01:25
гг

SetazeR
24.12.2018
08:02:11




Tishka17
24.12.2018
08:02:37
мро?
так а какой класс используется для мро? B или C?

Олег
24.12.2018
08:02:48
Хватит творить хуйню, ребята:)

SetazeR
24.12.2018
08:03:10
Хватит творить хуйню, ребята:)
сам ты хуйню, это эксперименты

?? Eugene
24.12.2018
08:03:19
так а какой класс используется для мро? B или C?
Есть чёткий алгоритм, зависит от того, какой родитель левее стоит

Sergey
24.12.2018
08:03:26
так а какой класс используется для мро? B или C?
от которого идёт наследование там и вызывается инит я так думаю

?? Eugene
24.12.2018
08:03:31
class(A, B):

Tishka17
24.12.2018
08:03:35
ну я старался чтобы метод C.x был как в B так и в C классе одноверменно. Можно их по разным веткам разнести, но фишка в том что C.x захватывает контекст B.x

?? Eugene
24.12.2018
08:03:41
Первей будет искать в A

Tishka17
24.12.2018
08:03:59
от которого идёт наследование там и вызывается инит я так думаю
у меня был динамически созданный класс в вызове метода другого класса.

Nikitcat
24.12.2018
08:04:05




Олег
24.12.2018
08:04:24
?? Eugene
24.12.2018
08:04:25
неявно передается

Tishka17
24.12.2018
08:04:27
да там все по другому работает

SetazeR
24.12.2018
08:04:44
меня честно говоря смущает почему инит вызвался не у всех классов-родителей

Google
Tishka17
24.12.2018
08:05:17
super возвращает одного

?? Eugene
24.12.2018
08:05:18
потому что алгоритм нашел метод и остановился

SetazeR
24.12.2018
08:05:25
так один родитель же
я про свой пример

Tishka17
24.12.2018
08:05:31
и я про твой

SetazeR
24.12.2018
08:06:00
???

а стоп

я затираю один инит другим при создании класса, и потом его вызываю?

Admin
ERROR: S client not available

?? Eugene
24.12.2018
08:07:59
Затирается, но он же вызывает метод родителя

в твоем примере можно было в классе С просто убрать инит, ничего бы не изменилось

Tishka17
24.12.2018
08:09:36
Вот код. Какой из двух последних строк в C.x эквивалентен вызов super().x() в C.x class A: def x(self): pass class AC: def x(self): pass class B(A): def x(self): class C(AC): def x(self2): super().x() super(B, self).x() super(C, self2).x() return C().x()

SetazeR
24.12.2018
08:09:48
родители наслаиваются справа налево чтоль?

Sergey
24.12.2018
08:09:52
Затирается, но он же вызывает метод родителя
не затирает же он вызывает свой инит в котором вызывает инит родителя

?? Eugene
24.12.2018
08:10:44
не затирает же он вызывает свой инит в котором вызывает инит родителя
да, но этот "свой" инит переопределяет инит, доставшийся по наследству

Nikitcat
24.12.2018
08:10:49
родители наслаиваются справа налево чтоль?
вообще поиск ведется слева направо

SetazeR
24.12.2018
08:10:57
т.е. при инициализации класса C сначала ему инит определяется от класса B, потом уже от А?

?? Eugene
24.12.2018
08:11:28
Nikitcat
24.12.2018
08:11:49
если не найдет в классе B, то будет А, в данном случае

Google
SetazeR
24.12.2018
08:12:00
т.е. никакого затирания не происходит, инит от класса B игнорируется чтоль?

Artem
24.12.2018
08:12:01
Други! подсказка от вас нужна. Есть pycharm, пишу в нем небольшой код. Что то типа import socket print (socket.gethostbyname("www.goole.com")) Нужно, ЧТо бы вывод был в терминале системы. Система Debian 9

SetazeR
24.12.2018
08:12:21
нашлось сразу в A - берём A?

лан заканчиваю тупые вопросы, пошёл самообразовываться

Nikitcat
24.12.2018
08:13:13
https://habr.com/post/62203/ внимай

?? Eugene
24.12.2018
08:13:35
SetazeR
24.12.2018
08:14:13
Tishka17
24.12.2018
08:16:49
короче пока ты внутри класса у етбя емсть __class__

Artem
24.12.2018
08:16:50
принт выводит в stdout, подменяй stdout на то, что тебе нужно и все
? как это сделать ? ) я просто не профи в питоне)

Tishka17
24.12.2018
08:17:07
он передается в super неявно

интепретатором

?? Eugene
24.12.2018
08:17:24
? как это сделать ? ) я просто не профи в питоне)
начнем с того, что я не понял в какой терминал тебе нужно вывести

Tishka17
24.12.2018
08:17:50
да, что за "терминал”?

Artem
24.12.2018
08:22:50
Tishka17
24.12.2018
08:23:20
эм....не работает
Да ответь уже что ты хочешь получить

Andrew
24.12.2018
08:24:04
Artem
24.12.2018
08:24:09
Да ответь уже что ты хочешь получить
domain = input("Введи домен: ") ip = socket.gethostbyname(domain) print(ip) Вот это ! Только результат должен вылезти в терминал ) из Пайчарма

Tishka17
24.12.2018
08:24:19
в какой терминал?

пайчармовский?

Страница 7507 из 9768