Anonymous
Не создаёт
это же вроди как только Cpython так, оригинальный, а всякие pypy и жпитоны могу и создавать?
Tishka17
ВНЕЗАПНО
Ага. Это вам не джава
Pavel
/me ушёл курить чейнджлоги
Tishka17
/me ушёл курить чейнджлоги
Где-то в 2.6 что ли. Обсуждали в чате
Проксимов
Ага. Это вам не джава
Ибо юзайти стринг билдер
Pavel
Где-то в 2.6 что ли. Обсуждали в чате
тут ~2+к сообщений в день, легко пропустить :)
Anonymous
Всем привет! Мы команда разработчиков из Сибири. Нам надоели сложные медленные неповоротливые сервисы для проектирования и рисования схем типа draw_io, lucidcharts, glyphy и им подобные. Поэтому мы решили разработать сервис диаграмм для разработчиков. Сейчас мы разбираемся с тем насколько эта идея интересна, и какого именно функционала не хватает в существующих инструментах. У нас есть небольшой опрос. Мне кажется, вам такой инструмент был бы полезен, и если вы примете участие в опросе то сможете повлиять напрямую на наш продукт. Опрос не займет более 5 минут! Но эти 5 минут, возможно, в будущем сэкономят вам гораздо больше! https://docs.google.com/forms/d/e/1FAIpQLSfG2Q1bkCTeetprp5Fq8aFE6YtsiSwCKh6v2p1iQxP_jZpilw/viewform?usp=sf_link
как в том комиксе. — Есть 8 разных интсрументов. — Какой ужас нам срочно нужно сделать один который будет лучше них всех. — Есть 9 разных инструментов.
Tishka17
с какой-то версии еще 2.x конкатенацию строк очень сильно оптимизировали
Tishka17
я это уже очень давно читал. вот что быстро нагуглилось на этот счет http://blog.mclemon.io/python-efficient-string-concatenation-in-python-2016-edition
Tishka17
эта оптимизация работает, если ты промежуточное состояние строки нигде не используешь. условие ресайза строки - количество ссылок на нее равное 2 (1 твой объект и еще +1 во время += создается)
Tishka17
https://t.me/ru_python/710124
Anonymous
Дорого юзать + для конкатенации
Pavel
ага, спасибо тебе, добрый @Tishka17
Tishka17
Проксимов
Или стрингбуфер
"нахуй нам эти потоки ваши не сдались" (с)
Anonymous
А?
Выше уже обсосали тему, забей
Anonymous
Время пороть хуйню
Anonymous
Кароч нахуй эти строки, оказалось шо ебучая пустая строка весит целых 32 байта
Alexey
Сто лет как не создаёт
> cat test.py import timeit print('join', timeit.timeit(''' "".join(my_list) ''', number=1000, setup='my_list = [f"{i:02}" for i in range(100000)]')) print('for loop', timeit.timeit(''' for i in my_list: s += i ''', number=1000, setup='my_list = [f"{i:02}" for i in range(100000)]; s = ""'))% > python3 test.py join 1.07244456600165 for loop 6.086665601003915 что я делаю не так?
cookie🍪
я не успел решить, я не гений, ну пиздец
Alexey
Используешь более производитель не ф-строки?
f строки только в сетапе, в тестах уже готовый лист со строками
Alexey
поменял f{} на str(), результат меняется в пределах погрешности
Anonymous
а не должен был f строки быстрее
Alexey
один фиг они в сетапе и не должны влиять на результат
Alexey
Используешь промежуточный результат?
cat test.py && python3 test.py import timeit setup = 'my_list = [str(i) for i in range(100000)]; s = ""' print('join', timeit.timeit(''' "".join(my_list) ''', number=1000, setup=setup)) print('for loop', timeit.timeit(''' for i in my_list: s += i ''', number=1000, setup=setup)) print('join', timeit.timeit(''' "".join(my_list) ''', number=1000, setup=setup)) join 1.1196177779929712 for loop 6.04732857599447 join 1.101941307002562
Alexey
вроде нет
Bogdan (SirEdvin)
Там где пишешь "s += I", магия оптимизации не может сработать, кмк
Tigran
Короч, котоны, мои любимые комментарии за сегодня — это «о господи, это настолько сложно, что я думал, что это ирония». Вот как на такое реагировать?
Bogdan (SirEdvin)
Забей
Tigran
Это да
Bogdan (SirEdvin)
Оно сложно, а потом вместор нормальной очереди задач все падает на крон и работает по три часа
Tishka17
Блин. Я так и не прочитал, только лайк за количество букв поставио
Tishka17
Хоть комменты надо глянуть
Alexander
Всем привет!
Alexander
Пишу парсер HTML файла, при попытке f = open('html.html','r') html = f.readlines() Ругается вторую строчку с ошибкой 'charmap' codec can't decode byte 0x98 in position 3187: character maps to <undefined> В чём может быть дело?
Alexander
Да
Alexander
Помогло кстати
Tigran
В опене encoding utf-8 пропиши
Вообще труЪ было бы читать как бинарь, определять encoding по тегу meta и только потом декодить
Alexander
Я сделал вот так with open("html.html", "rb") as f: html = f.read().decode("UTF-8")
Tigran
до тега мета с энкодингом вроде как по стандарту не должно быть не-ASCII символов
Tigran
Я сделал вот так with open("html.html", "rb") as f: html = f.read().decode("UTF-8")
но ведь HTML допускает другие кодировки :)
Alexander
Это да..
Alexander
Но в моём случае это не так важно
🍁 Jaŭhien
Время питона!
Что это значит?
CREOMONSTER
Хз) у меня с компа меню какое то
Artur Rakhmatulin
Что это значит?
ну типа "поколение пэпси" и т.п
🍁 Jaŭhien
ну типа "поколение пэпси" и т.п
За последнюю неделю раз 10 уже видел эту фразу от разных людей в этом чате. Вот и думаю что за флешмоб.
Artur Rakhmatulin
Время питона!
Nodaa
kk
🍁 Jaŭhien
Эт где? У меня нет
Tigran
Эт где? У меня нет
Занятно, у меня на рабочем ноутбуке есть эта штука (даже после перезапуска телеги), а тут нет
🍁 Jaŭhien
Призрачная клавиатура)
Tigran
На ночь тактический бамп
Tigran
Котоны, я сделал это наконец! https://habr.com/ru/post/444446/ (жду ваших плюсиков)
Tigran
Илитный у кого-то в черновиках :(
Tigran
Зачем нода на фронте
Статью не читай @ вопросы задавай
Tigran
Чтобы рендерить HTML на сервере