@ru_python

Страница 7413 из 9768
Aragaer
15.12.2018
15:54:14
короче, у меня не было явного списка "кто действует в раунде", только их координаты. Поэтому когда один юнит должен действовать, но его убили, а на его место пришел другой, то этот другой действует вместо трупа (фактически второй раз)

Витя
15.12.2018
16:07:14
Ботоделы, а папку pycache нужно на гитхаб загружать или в .gitignore её?

Маришка
15.12.2018
16:07:34
в игнор

Google
Маришка
15.12.2018
16:07:50
просто пропиши __pycache__/ и всё

А вообще за тебя придумали уже гитигнор https://github.com/github/gitignore/blob/master/Python.gitignore

для питона

Витя
15.12.2018
16:09:01
Оо, спасибо

Aragaer
15.12.2018
16:10:55
вторую часть прошел

хренассе, я даже в тысячу попал

Eldar
15.12.2018
16:22:39
ищи в описании ссылку на питон бегинерс, я тебе выдал РО

Alexey
15.12.2018
16:27:22
блин, в елке тоже все тесты прохожу, но на своем инпуте не работает( и неясно куда дебажить

Aragaer
15.12.2018
16:42:11
можно сверить с моим решением

Yegor
15.12.2018
17:20:00
Yield это ключевое слово, которое используется примерно как return — отличие в том, что функция вернёт генератор. Что в этом можно понять?

r o o t @
15.12.2018
17:21:25
ку, драсте

Yegor
15.12.2018
17:21:38
тоесть yield это приблуда которая создает генераторы?

Alex
15.12.2018
17:22:35
тоесть yield это приблуда которая создает генераторы?
Нет, не совсем. Функция в которой используется yield становится генератором

Google
Yegor
15.12.2018
17:23:51
ну вот по факту у меня не хватает фантазии куда применить эту баланду на практике

Мало того, у меня постоянно не хватает фантазии куда применить питоновые классы

Владимир
15.12.2018
17:25:02
ну вот по факту у меня не хватает фантазии куда применить эту баланду на практике
Генераторы важный инструмент. Особенно если надо обработать большой объем данных

Alex
15.12.2018
17:25:14
Или асинхронщина

Aragaer
15.12.2018
17:25:25
def revrange(n): while n: yield n n -= 1 for x in revrange(10): print(x)

Yegor
15.12.2018
17:25:26
можно пожалуйста практические примеры?

Владимир
15.12.2018
17:25:26
Или асинхронщина
Ну это уже сопрограммы

Yegor
15.12.2018
17:25:59
def revrange(n): while n: yield n n -= 1 for x in revrange(10): print(x)
вот я уже ничего и не понял

Alex
15.12.2018
17:26:10
Aragaer
15.12.2018
17:26:17
а чего тут понимать

функция revrange() возвращает итератор, который последовательно выдает значения 10, 9, ... 1

реально списка нигде нет

Владимир
15.12.2018
17:27:13
можно пожалуйста практические примеры?
import time import os def follow(thefile): thefile.seek(0, os.SEEK_END) while True: line = thefile.readline() if not line: time.sleep(0.1) continue yield line аналог tail -f

Aragaer
15.12.2018
17:27:46
норм

Yegor
15.12.2018
17:33:02
Товарищи, там у Молчанова курс идет, по асинхронному питону. Никто не смотрел?

Просто я так глянул, вроде так просто что аж страшно

Винни
15.12.2018
17:33:24
у меня почка болит, алло, ты о чем

Владимир
15.12.2018
17:34:56
вот я уже ничего и не понял
Генератор вычисляет каждое следующее значение. Вычисляет и останавливается. Пока его снова не вызовут в цикле или через next def counter(n=10): while 0 < n: yield n n -= 1 In [11]: for i in counter(): ...: print(i) 10 9 8 7 6 5 4 3 2 1 In [12]: g = counter(10) In [13]: g.__next__() Out[13]: 10 In [14]: g.__next__() Out[14]: 9 In [15]: g.__next__() Out[15]: 8

Товарищи, там у Молчанова курс идет, по асинхронному питону. Никто не смотрел?
так просто, но без понимания генераторов и сопрограм ты далеко не уедешь, так как питонячья модель кооперативного исполнения базируется на сопрограммах, которые в питоне связаны с генераторами) Да и просто оно только выглядит

Yegor
15.12.2018
17:37:13
Можно спросить по практике, я просто не знаю это асинхронность или нет? Допустим, есть пачка процессов, которые идут на один сайт и выдергивают там некоторые данные, они их выдергивают вразнобой и у кого как получится и за разное время. Они все эти данные складывают в какую-то очередь. Дальше другая пачка процессов стают в эту очередь и выдергивают из нее себе задачи.

Google
Yegor
15.12.2018
17:38:19
@vovkd что за сопрограммы?

Владимир
15.12.2018
17:38:37
coroutines

Yegor
15.12.2018
17:38:55
первый раз вообще вижу

Aragaer
15.12.2018
17:39:29
процессы и треды это на уровне операционной системы независимые потоки команд

многозадачность через них осуществляется операционной системой

Владимир
15.12.2018
17:40:30
Надо разделять параллельное исполнение и кооперативное. Процессы, треды используются из ОС. Сопрограммы же позволяют устроить передачу исполнения от одной сопрограммы к другой внутри одного процесса и одного потока. Управление всем этим ты уже сам организуешь. А когда работают процессы и потоки, то этим занимается ОС. В случае питона в дело еще вступает GIL, который портит картину

Aragaer
15.12.2018
17:40:32
корутины это более легковесная конструкция, которая реализована в пределах одного процесса/потока. Операционная система о них ничего не знает, а многозадачность между ними реализована уже средствами языка/библиотеки

вот да, у корутин многозадачность кооперативная

Владимир
15.12.2018
17:49:24
а в чем отличия от горутин в го ?
Честно не знаю, потому что в Го я не играю) Но вижу, что у всех трендовых языков появилась поддержка сопрограм из коробки. Го, Котлин и т.д.. Предполагаю, что цель у всех одна. Но реализация может отличаться.

Tishka17
15.12.2018
17:53:49
а в чем отличия от горутин в го ?
Они автоматом по тредам раскидываются. И запускаются одним оператором

Aragaer
15.12.2018
17:57:35
ни в чем

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