
Denis
16.07.2016
22:10:18

Темный
16.07.2016
22:12:58
вобщем это задание на степике сломалось, ссылка обрывается, должно было вернуться что-то вроде начинающегося с "We"

Google

Pavel
17.07.2016
02:04:48
так быстрее чем os.
я тоже так думал, пока пару дней назад мне не потребовалось пачку скриптов перенести с windows машины на linux.
в общем, не надо лениться и хардкодить слеши в строках, если есть os.path.join.

Viktor
17.07.2016
09:15:40

Темный
17.07.2016
09:20:47
И там и там 3 строки

Viktor
17.07.2016
09:20:58
Строки в питоне не изменяемы
Потому ты каждый раз копируешь уже прочитанное в новую строку

Темный
17.07.2016
09:21:44
Конкатенация

Viktor
17.07.2016
09:21:47
А тут ты читаешь все в список, и потом соединяешь в одну строку
По крайней мере foo = foo + bar не будет конкатенацией точно

Google

Viktor
17.07.2016
09:22:33
Ни в одном нормальном языке

Темный
17.07.2016
09:23:36
А у меня все в 1

Viktor
17.07.2016
09:25:14
Запилите кто-нибудь проверку на время

Темный
17.07.2016
09:26:16
И на потребляемую память

Viktor
17.07.2016
09:32:00
Далее идёт ничем не подкреплённый бред:
foo = foo + bar
Мы должны выделить память под новое значение foo, то есть size(foo) + size(bar)
Затем мы должны скопировать старый foo в новый
Потом докопировать bar
И только потом освободить старый foo
То есть у нас будет в определённый момент выделена память 2*size(foo) + 2*size(bar)
Теперь вариант со списком: мы постепенно будем выделять память под новые bar'ы, и в конце концов у нас получится список занимающий память близкую к конечному foo (минус ращмер пробелов, плюс размер указателей)
Затем мы выделим место под конечный foo, скопируем в него постепенно список, и освободим список
По идее будет занято максимум 2*size(foo) памяти

Denis
17.07.2016
09:33:56
Таки линейно

Viktor
17.07.2016
09:39:07
Причём в варианте со списком у нас будет n раз выделено size(bar) памяти, и 1 раз size(конечный foo)
Затем освободится весь список
В варианте с конкатенацией и присваиванием будет n раз выделятся и почти сразу же освобождаться (2*(1..n)*size(bar) + size(bar)) памяти
На этом моменте я окончательно запутался
А s = s + str(i)?

⬗VLAD⌶K⬖
17.07.2016
09:42:17
break?!
да я для себя этот брек сделал, проверить=)

Denis
17.07.2016
09:45:25
Да, джойн таки быстрее

Viktor
17.07.2016
09:50:51
А если строки подлиннее?
Попробуй там str(i) * 20 например

Denis
17.07.2016
09:52:53
0.755
С джойном 0.726

Sergey
17.07.2016
09:57:15
Для бенчмарков лучше timeit использовать https://docs.python.org/3.5/library/timeit.html

Viktor
17.07.2016
09:57:17
А + ?

Denis
17.07.2016
09:58:40

Sergey
17.07.2016
09:58:48
Thx cap
Чет я не вижу его на скриншотах выше, ваш Cap

Google

Denis
17.07.2016
09:59:44
timeit не так удобен, когда кода больше 1 строки

Sergey
17.07.2016
10:02:13
В ipython очень даже удобен

Viktor
17.07.2016
10:02:46

Sergey
17.07.2016
10:02:50
Хотя, никто не мешает и без него
А что бы нет?

Denis
17.07.2016
10:04:03
Нет у меня ipython

Sergey
17.07.2016
10:04:21
Соболезную

Denis
17.07.2016
10:04:24
Есть qpython и ssh с cpython

Viktor
17.07.2016
10:05:59
Извращенец

Sergey
17.07.2016
10:06:11

Denis
17.07.2016
10:06:41

Sergey
17.07.2016
10:08:29
Хоткеи стандартные, как и в любом терминале. Единственное - лучше клавиатуру нормальную использовать вроде hackers keyboard, где есть все модификаторы

Denis
17.07.2016
10:08:47
Мне стрелочки удобнее))0

Viktor
17.07.2016
10:08:57
memory_profiler кто-нибудь попробуйте

Denis
17.07.2016
10:09:35
Зачем профилировать память, если у меня 6 гигов оперативы?

Viktor
17.07.2016
10:10:17

Denis
17.07.2016
10:10:18
Нет

Viktor
17.07.2016
10:12:14
И на потребляемую память

Темный
17.07.2016
10:13:36

Viktor
17.07.2016
10:13:54
Ты не согласен с моими рассуждениями?

Google

Темный
17.07.2016
10:14:02
по джоин понял, но это не тот случай что бы спорить о времени
и то и то приемлимо

Sergey
17.07.2016
10:14:35

Admin
ERROR: S client not available

Denis
17.07.2016
10:14:48
ipython нинужен

Viktor
17.07.2016
10:15:08

Sergey
17.07.2016
10:15:31

Denis
17.07.2016
10:16:05
Предлагаю запретить пропаганду ipython в этом чате

Sergey
17.07.2016
10:17:05

Viktor
17.07.2016
10:17:06

Темный
17.07.2016
10:17:18

Denis
17.07.2016
10:18:11

Sergey
17.07.2016
10:19:29

Denis
17.07.2016
10:20:37
Фреймворки используются в продакшне, а вот ipython я ни разу не видел

Sergey
17.07.2016
10:23:37
Не путайте тёплое с мягким. В чате для начинающих говорить, что удобный инструмент для изучения языка не нужен по меньшей мере странно

Nobue
17.07.2016
10:29:40
я на самом деле частично согласен с оратором который катит бочку на iPython, пусть и не так категорично
он и правда сильно изменяет язык и "улучшает" его, после чего этот питон уже нельзя назвать стандартным

Google

Nobue
17.07.2016
10:31:05
там довольно много вещей которые ванильном питоне вообще не работают или работают иначе
это скорее минус чем плюс
в особенности для обучения
если это можно отключить, лучше во время обучения отключать
просто это как учится на убунте чтобы потом работать на дебиане
какое-то некорректное обучение получается

Темный
17.07.2016
10:39:15

Nobue
17.07.2016
10:39:44
например что на дебиане нет PPA, rolling release и внутри многие вещи сделаны иначе
для новичка эти отличия очень критичны
это нам уже старым кажется что разницы нет
а он наткнётся на /etc/network вместо network manager и это будет конец пути сразу
ну я образно, но думаю мысль понятна

Темный
17.07.2016
10:42:34
и все же начинать нубу с дебиана это сильно

Nobue
17.07.2016
10:42:52
так если ему работать потом на дебиане

Denis
17.07.2016
10:42:57
Я начинал с дебиана

Nobue
17.07.2016
10:43:00
и везде в мире дебиан
Эта группа больше не существует