
Terminator
15.01.2019
08:13:31
@nsniko будет жить. Поприветствуем!

Tishka17
15.01.2019
08:15:18

LighteR
15.01.2019
08:16:01

Владимир
15.01.2019
08:16:57
f(cb: Callable[[object], str]) — хороший пример как это портит лаконичность питонячьего кода

Google

Tishka17
15.01.2019
08:17:14
http://codephoto.ru/i/VlYIe
вот так надо было

LighteR
15.01.2019
08:18:18

Tishka17
15.01.2019
08:18:24

Винни
15.01.2019
08:18:30
пачанята, давайте взломаем эппль на питоне и чистом html?

Tishka17
15.01.2019
08:18:46

LighteR
15.01.2019
08:19:02

Винни
15.01.2019
08:19:07

LighteR
15.01.2019
08:19:17
ну и доке mypy тоже что-то есть

Владимир
15.01.2019
08:19:23

LighteR
15.01.2019
08:19:45

Tishka17
15.01.2019
08:19:51

LighteR
15.01.2019
08:20:35

Google

Tishka17
15.01.2019
08:20:41
видимо придется писать багрепорт в jetbrains или наоборот
а я статью пишу
и все равно такие вопросы будут

Винни
15.01.2019
08:20:58
и заставим все маки гавкать
& xcode-select --install || brew remove portaudio || brew install portaudio || pip3 install pyaudio || say "gav gav"

Tishka17
15.01.2019
08:21:40
давайте винни забаним

Винни
15.01.2019
08:21:57
я же добрый

Tishka17
15.01.2019
08:22:07
какой-то оффтоп опять

Винни
15.01.2019
08:22:20
я про питон говорил

Tishka17
15.01.2019
08:22:29
не вижу

Винни
15.01.2019
08:22:33
так что это отчасти оффтоп
pyaudio

LighteR
15.01.2019
08:22:38

Tishka17
15.01.2019
08:22:41
даа

Винни
15.01.2019
08:22:50
даа
окей, как хочешь, я молчу

Tishka17
15.01.2019
08:23:43
на простом примере сам застрял
ладно, пора работать

Google

Tishka17
15.01.2019
08:25:32
блин, статья это хорошо, но лучше наверно PEP перечитать
о. https://www.python.org/dev/peps/pep-0484/#covariance-and-contravariance
кратенько

LighteR
15.01.2019
08:30:25
еще у mypy есть разъяснения: https://mypy.readthedocs.io/en/latest/generics.html#variance-of-generics
В общем, в твоем, случае mypy правильно ругается, а pycharm - нет

Tishka17
15.01.2019
08:31:17
угуу

LighteR
15.01.2019
08:31:22
Callable - это контравариантный generic по агрументам

Tishka17
15.01.2019
08:31:34
надо осилить и написать репорт

Егор
15.01.2019
08:32:27

LighteR
15.01.2019
08:32:58
ну я бы во второй части статьи по covariance/contravariance не писал, слишком сложно, кмк, для неподготовленных читателей. Многие разработчики просто Generic'и осознать могут с трудом

Digital
15.01.2019
08:34:42
Народ, где можно найти архив с парой, тройкой тысяч фото автомобильных номеров?

LighteR
15.01.2019
08:35:19
написал бы только кратко почему mutable generic'и инвариантны

Владимир
15.01.2019
08:39:03

LighteR
15.01.2019
08:39:14

Владимир
15.01.2019
08:39:37
Это как?
не аннотировать все подряд, а только там, где есть явная необходимость

Whore Amazing
15.01.2019
08:40:18
Как бы мне универсально получать доступ к элементу любой вложенности в многоуровневом списке? Чтобы иметь возможность брать и list[3], и list[2][8][1][0] в зависимости от глубины.
Эвал смотрится очень антипаттерново.

LighteR
15.01.2019
08:40:19

Google

Whore Amazing
15.01.2019
08:41:52

LighteR
15.01.2019
08:42:15

Whore Amazing
15.01.2019
08:42:54

Digital
15.01.2019
08:43:43

LighteR
15.01.2019
08:44:00

Владимир
15.01.2019
08:44:05
А как понять где необходимо, а где нет? И как это mypy воспринимает?
Нормально воспринимает. Вот, хотя бы пример из пеп
def find_first_str(a: List[object]) -> str:
index = next(i for i, x in enumerate(a) if isinstance(x, str))
# We only get here if there's at least one string in a
return cast(str, a[index])
Я понимаю все благие намерения, но cast(str, a[index]) — это уже грязно.

Whore Amazing
15.01.2019
08:44:08

Michael
15.01.2019
08:44:21

Admin
ERROR: S client not available

Whore Amazing
15.01.2019
08:44:40

ᵇʳᵒᵏᵉᵑ
15.01.2019
08:45:16

Tishka17
15.01.2019
08:45:31

Whore Amazing
15.01.2019
08:45:53

Tishka17
15.01.2019
08:46:00
get_rec(lst, 2, 3)
ну сделай get и set

LighteR
15.01.2019
08:46:38

Tishka17
15.01.2019
08:46:40
у set можно ещэ параметр на вставку промежуточных

Whore Amazing
15.01.2019
08:46:51
можешь показать, как это?

Tishka17
15.01.2019
08:47:44
хотя про промежутоные перебор

Google

Whore Amazing
15.01.2019
08:48:48
твой гет каждую итерацию цикла обрезает список
а мне исходный надо модифицировать

Владимир
15.01.2019
08:49:21

Michael
15.01.2019
08:49:39

LighteR
15.01.2019
08:49:41

Whore Amazing
15.01.2019
08:49:55

LighteR
15.01.2019
08:51:02

Whore Amazing
15.01.2019
08:51:50

Tishka17
15.01.2019
08:51:53
http://codephoto.ru/i/SgWBh

LighteR
15.01.2019
08:52:11

Tishka17
15.01.2019
08:52:30
или вы что делаете?

Whore Amazing
15.01.2019
08:53:04
щас проверю, чото нихуя не понимаю

Tishka17
15.01.2019
08:53:13
я плозо понимаю что ты хотел получить

Michael
15.01.2019
08:53:37
Хм, там от исходного листа 1 элемент останется

Whore Amazing
15.01.2019
08:53:51
вот-вот

Tishka17
15.01.2019
08:53:58
в смысле?

Valar
15.01.2019
08:54:20
В слишком быстром цикле while , get запросы дублируются игнорируя условия. Как обрезать дублирования, подскажите плиз на двух словах.
4 й день мучаюсь

Michael
15.01.2019
08:55:00

LighteR
15.01.2019
08:55:06