Это копия, сохраненная 21 июля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Коммуна: https://sites.google.com/view/pypry/
Книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Ещё книжек? https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек Богу книжек! https://yadi.sk/d/H-00n-UG3RSQem
Прошлый: >>1394204 (OP)
Какая встратая хуйня с понадерганными материалами не дающая общей картины, даже устаревший фак с гитхаба полезнее
примерно раз в 2 года какого-то ньюфага кусает питон, и он начинает бурную деятельность по созданию каких-то шапок, гайдов, ньюфажных подборок. всё на русском, естессна. но всем как всегда похуй. энтузиазм кончается примерно этим и +1 тупым линком в шапке
Где блять книга чистый python? Единственная более-менее годная книга о особенностях языка. Хотя половину пролистал, т.к. или очевидно или хуйня.
Может стоит что-то сделать по-другому?
>Не читал ни одной книги, программирую на питоне уже пять лет, что я делаю не так?
Мне легче обучатся по академическим материалам, а не с голой жопой лезть штурмовать практику
>Не читал ни одной книги
всё правильно делаешь. нахой не нужны книги при живом стаке, онлайн курсах и просто статьях в гугле
Я не против академических книг. Например, SICP с примерами на питоне https://wizardforcel.gitbooks.io/sicp-in-python/content/
Но для того, чтобы просто вкатиться и начать работать, достаточно питоновского мануала, он весьма хорош.
>Но для того, чтобы просто вкатиться и начать работать
>достаточно питоновского мануала
Кем это интересно можно вкатится освоив мануал? Ну даже предположим чистый питон
Кем угодно - решает уже эрудиция и опыт, то есть знание конкретных библиотек и предметной области.
Ньюфагов прошу внимание обратить на мануал
https://docs.python.org/3/
Там есть раздел Туториал
https://repl.it/repls/DimpledFullCell
Засунул в repl для удобства.
connection_handler - корутина, которая обрабатывает каждое новое соединение. Она завернется в таск.
Я собираюсь передавать reader и writer пользователя отдельной таске ChatRoom.serve_room. Там внутри она уже всё будет менеджить. Помимо reader и writer передам еще объект asyncio.Event, чтобы вернуть управление таске connection_handler, когда пользователя выкенет из комнаты.
Выйти возможно только в меню. Но если просто закрыть соединение, то таска останется(застрянет в menu_handler). Поэтому в корутине close_connection я прибиваю таску.
Бля, я думаю, что нихуя непонятно объяснил
ps Всегда от этого подгорал во многих туториалах актуальных технологий. Французский есть, даже корейский есть. А русского покрывающего 300+ миллионов носителей, что больше французских и корейских вместе взятых(даже не откидывая африканские мухосрани) - хуй.
Хоть я и могу в чтение, но когда только начинал это пиздец как затормаживало.
>Кем угодно - решает уже эрудиция и опыт, то есть знание конкретных библиотек и предметной области.
На чистом питоне ты хрен куда уедешь и нахрен не нужен, знай хоть стандартную библиотеку от корки до корки и задрачи шаблонные реализации лутса.
>На чистом питоне ты хрен куда уедешь и нахрен не нужен, знай хоть стандартную библиотеку от корки до корки и задрачи шаблонные реализации лутса.
Я так и написал - какие-то особые книги начинающим не нужны, а чтобы освоить стандартную библиотеку, достаточно официальной документации. Это не противоречит тому, что надо знать также свою предметную область или конкретную технологию. Ну а чтобы сайтики клепать, достаточно прочитать мануал по джанге.
Да, единственным барьером может быть англ. язык, но без него совсем никуда.
this. русские понимают, что переводить справку на свою мову - дебилов плодить, которые даже погуглить ничего не смогут впоследствии
Что я могу сказать.
Дали мне задачку короче написать хуйню.
Ну пишу я такой эту хуйню и мне нужно использовать какой-то класс, а он унаследован от другого класса, тот от двух других, а этот от четырех, часть из них вообще из другого проекта, но если докопаться до истоков, обнаруживаем наследование от какой-то стандартной питоновской либы. Это нормально вообще? Комментов там кот наплакал, иногда пишешь велосипед полдня и случайно обнаруживаешь, что это уже написано.
Так и будет или через месяца 2 - 6 я освоюсь? Боюсь, что меня уволят раньше, чем пройдет это время.
Все нормально, просто пиши штоб работало. Индустрия на этом и стоит.
Достаточно ли проверки reader.at_eof()?
Потому что явное лучше неявного.
range'и почему-то только недавно начали появляться в других мейнстрим языках, в некоторых даже как часть синтаксиса в виде
> for i in 1..n
в джаваскрипте можно итерировать массивы for (let el of arr) el будет поочерёдно принимать значения каждого элемента массива, можно for (let i in arr) i будет индексом, ну а можно итерировать коллбеком
классический способ гибче и джс его позаимствовал у сишки, это си синтаксис
Сколько времени мне потребуется на то, чтобы весь бэк переделать на django? Строк кода в целом совсем немного, на питоне максимум - решал олимпиадные задачки n лет назад.
Сложная хуйня этот ваш джанго по сравнению с node/express?
но джанго в цирке не выступает
Не знаю... Или софтину какую-то готовую прикрутить для этого? Есть зацепки какие-нибудь? У меня не гуглится нихрена.
Ну тоесть типа автор предлагает распиливать так:
[1, 2, 3] -> 1 + [2, 3] -> 2 + [3], и я не соображу как это сделать, как это в рекурсию передать, у меня вышло только так:
[1, 2, 3] -> 1 + [2, 3] -> 3 + [3] = сумма
Я чёт не соображу, я хуйню сотворил?
Тебе не нужно передавать значение в list_sum, достаточно только одного списка. Базовый случай это пустой список с возвращаемым значением — 0.
Как разложить просто до базового случая я понимаю, пикрил, я не понимаю как потом сложить рекурсией выведенные из списка числа сохраняющиеся в каждом вызове
Ты всегда должен возвращать число, в базовом случае 0, в остальных сумму текущего элемента и суммы подсписка.
Может, с прочтения документаци?
Анон, не понимаю. Поправь мой код, плиз, покажи как должно быть. У меня извилины в трубочку сворачиваются
def rsum(lst): return lst.pop() + rsum(lst) if lst else 0
def rsum(lst, i=0): return lst + rsum(lst, i + 1) if i < len(lst) else 0
Вот тебе рекурсивная функция:
f(0) = 0
f(n) = 2 + f(n - 1)
Поподставляй значения в нее вместо n n >= 1 и посмотри, что она выдает. Руками на листочке.
Например n = 1:
f(1) = 2 + f(1 - 1)
= 2 + f(0)
= 2 + 0
= 2
Я проходил уже рекурсивную функцию и стек вызовов, и примерно это всё понял. Я не понимаю как конкретный пример в рекурсии отобразить, и не понимаю код который ты мне написал
>просто вкатиться и начать работать
Ну и на какую позицию ты вкатился так?
Вакансию джуна/стажера на питоне непросто найти + всегда подразумевается стек технологий, на голом Питоне далеко не уедешь
Это блядь не филиал помощи умственно неполноценным, тебе уже дважды все объяснили, если ты еще не понял, то иди проспись, может утром поймешь.
Ах ты сука! Ну ладно. На самом деле кароче сделал тупо по этой диаграмме и всё заработало, правда чёт я один хуй не понял, лол. И да, проспаться было бы хорошей идеей, сегодня концентрация нулевая, не понимаю нихуя, но времени не хотелось терять.
Ну вот я такой формат записи не проходил и не понимаю, потому что он непонятен для чтения. Потому, собственно, написаный тобой код не понял, т.к. он изобилует непонятными оборотами.
Короче что нам дает len(lst) == 0? True или False.
Соответственно if lst это то же самое что if bool(len).
Приведение к bool дает False если на входе [],{},0,""
в пифоне принято проверять сиквенсы на пустоту таким неявным о-bool-иванием. что-то пустое это всегда фалсе, что-то непустое - трутх
Как собес прошел? Много не требовали? Без опыта влезать не просто так-то
А на работе чё вы делаете? Только код на питоне пишете? А чё там написать можно?
Я хочу знать, можно ли начать учить ПИТОН не зная абсолютно нихуя в сфере программирования? хтмл и ксс обязателен чтоле
хз. я честно даже не пробовал. в моих индустриях, если я допустим строитель, а питон - это молоток, то работать питон-программистом это то же самое что работать оператором молотка. тут тока работы строителей есть. некоторые правда нужны именно за скилл владения молотком
а вообще я нихуя не показатель
https://doc.qt.io/qtforpython/overviews/model-view-programming.html
и у меня мозги в трубочку сворачиваются, потому что там описания перескакивают с одной темы на другую очень быстро (Предлагают разбирать модель на основе кастомной модели, которая делается вообще чуть ли не в середине туториала), а некоторые куски кода вообще отправляют меня пучину безумия, так как например в описании создания своей модели дают пустой код и тут же говорят "Ну а теперь модифицируем это для возможности редактирования". Что именно модифицировать я так и не понял, да и там где есть код почему-то среди питоновского кода встречаются конструкции типа
if orientation == Qt::Horizontal:
Это же сишное, не? Зато в следующих блоках уже поправлено. В общем, это я ебанутый и что-то дохуя пропустил, или лыжи действительно не едут?
посреди питоновского кода почему-то проскакивает сишный
> pyside
Люто не советую.
Если хочешь ГУИ, то PyQT5 учи.
P.s. Если захочешь попрактиковаться - пиши на фейко-почту, есть один попенсорс проект, над ГУИ которого уже трудится товарищ со знанием PyQT, ему не помешает помощь.
нихуя себе "в питоне принято", долбаебами принято, все нормальные ребята делают явные проверки
if list == []:
....pass
Не явные проверки люди делают ровно в тех местах где им надо, и пишут комментарий что так и задумано и они не обосрались
Вы бы блять ещё учили джунов писать
if not val:
Вместо
if val is not None:
Чтобы багов побольше блять было, они ж не думают нихуя, пусть пишут что имеют в виду
нахуй вам эти pyqt, идите блять на kivy пишите, ахуенный недофреймворк
is - проверка по ссылке
!= / == - по значению
is следует использовать при сравнении с синглтонами, такими как None, True, False, == во всех остальных
== даже не по значению, а любому говну которое напишут в __eq__, но пока ты задаёшь такие вопросы тебя это волновать не должно
Все, понял, спасибо.
код
пост сверху про
if val is not None:
был к тому, что когда тебе нужно проверить что что-то пустой список, или None, или Аллах, ты берешь и делаешь явную проверку, а не пишешь
if not val:
по двум очевидным причинам, первая потому что это блять просто имеет прямой логический смысл, вторая потому что однажды ты заработаешь ахуенный баг когда в твоём val будет объект совсем не того типа который ты ожидаешь
fyi:
not {} -> True
not [] -> True
not () -> True
not None -> True
not '' -> True
not 0 -> True
> нихуя себе "в питоне принято", долбаебами принято, все нормальные ребята делают явные проверки
> первое в духе Питона шо я ебал
"if not lst" из pep8 взято:
> For sequences, (strings, lists, tuples), use the fact that empty sequences are false.
> Yes: if not seq:
> if seq:
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
В __eq__ можно переопределить сравнение по == как тебе угодно, хоть рандомно возвращать True / False.
в курсе, но ты разделил == и реализацию ека
> == даже не по значению, а любому говну...
просто полюбопытствовал, где это в питоне может быть притично
в джс просто недавно сменился стандарт с es5 на es6, примерно как питон 2 на питон 3 несколькими годами раньше. а фреймворки везде устаревают
(venv) C:\AutoEq-master>python frequency_response.py --input_dir="data\ISK HD9999" --output_dir="results\ISK HD9999" --compensation="compensation\harman_in-ear_2017-1_wo_bass.csv" --equalize --parametric_eq --max_filters=5+5 --ten_band_eq --iem_bass_boost=6 --standardize_input
Traceback (most recent call last):
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\AutoEq-master\venv\lib\imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:\AutoEq-master\venv\lib\imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: DLL load failed: Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL).
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "frequency_response.py", line 17, in <module>
import tensorflow as tf
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\AutoEq-master\venv\lib\imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:\AutoEq-master\venv\lib\imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: DLL load failed: Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL).
Failed to load the native TensorFlow runtime.
(venv) C:\AutoEq-master>python frequency_response.py --input_dir="data\ISK HD9999" --output_dir="results\ISK HD9999" --compensation="compensation\harman_in-ear_2017-1_wo_bass.csv" --equalize --parametric_eq --max_filters=5+5 --ten_band_eq --iem_bass_boost=6 --standardize_input
Traceback (most recent call last):
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\AutoEq-master\venv\lib\imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:\AutoEq-master\venv\lib\imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: DLL load failed: Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL).
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "frequency_response.py", line 17, in <module>
import tensorflow as tf
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\AutoEq-master\venv\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\AutoEq-master\venv\lib\imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "C:\AutoEq-master\venv\lib\imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: DLL load failed: Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL).
Failed to load the native TensorFlow runtime.
>Несколькими годами раньше.
Вышел 11 лет назад, интенсивно вытеснять вторую версию начал лет 7 назад.
например unittest.mock.ANY - используется при тестировании чтобы при сравнении объектов заменять не интересующие нас значения на него "исключая" их из сравнения.
Погугли примеры.
https://docs.python.org/3/library/unittest.mock.html#any
Сап, Ужики, ньюфаня с проблемой тут.
Смотрел выступления с какой-то конференции, и один чел вскользь упомянул о том, что ---вроде как--- теперь в питоне можно явно объявлять тип переменной.
Но поскольку я ньюфажа, то ничего не умею, даже искать пепы.
Не могли бы вы объяснить мне как и зачем?
А я вам тортик.
> во вторых можно ли как то ввести любую функцию и чтоб питон определял ее как функцию, а не строку? Ну типа через input
Но зачем?
Есть eval и exec.
https://docs.python.org/3/library/typing.html
http://mypy-lang.org/
В первой ссылки указаны пепы, вторая static type checker для питона.
Одно из заданий по курсовому проекту, думал написать программу для исследований разных функций
>eval
Как я понял, он переводит строку в выражение
евал распознает выражение в строке, пытается распознать. Exec - передача команды из строки в исполнение. Ну это как я понял, мимо-нюфаг.
Понимаю, что в питоне давно для этого есть какая нибудь стандартная библиотека и ничего городить не надо.
Подскажите, в какую сторону читать? Как гуглить?
Евал исполняет код на пыхе, exec выполняет системную командну.
0, Пойми причину багов. Архитектура? Сторонние библиотеки? Логику проебал?
1, Предложи юзерам помочь закрыть эти баги. Да, мало кто захочет, но вдруг. Вполне себе можешь взять какого-либо помощника, с тебя опыт - с него желание учиться. ИМХО - одному довольно сложно держать себя в тонусе и развивать долгоиграющие вещи.
2. Возьми яйца в кулак, создай отдельную ветку и, в зависимости от ответа в пункте 0, начни исправлять/менять код.
Либо ничего не писать.
Суперски, очень познавательно, спасибо большое.
А если мне веб морда не нужна, а нужно только чтобы другие приложения логинились и получали/посылали данные, фласк тоже подойдёт? И если там будут за раз мегабайт по 50 текстов и изображений отправляться, это нормально?
Супер, все понятно. Ещё раз спасибо!
Вопросы назрели.
"Магические методы" типа __sub__ __mul__ __truediv__ часто используются?
Тот же вопрос про модуль Itertools и про регулярные выражения.
Все пишут в ООП стиле, а функционалка не нужна?
1) Нечасто, по крайней мере у меня, я в основном, кроме очевидного init всякими контекстными менеджерами, гетерами/сетерам и итераторами балуюсь
2) Часто, там куча вещей для комбинаторики да и вообще последовательностей. Регулярки конечно юзаю, т.к. иногда приходится не совсем простые строки парсить
3) Что для тебя функциональщина? Всякие filter, map, замыкания и функции высшего порядка? Скорее всего просто смешивают
a.py импортирует b.py, а test.py импортирует a.py
Какое есть чистое и универсальное решение, чтобы и a.py работал сам по себе, и при запуске test.py находился b.py?
Как самое-самое начало вроде норм. Хотя под конец они начали лажать с точностью русского перевода и порядком подачи материала/его разжёвыванностью.
Особенно доставлял индус в комментах с ником Кришна Лимани, который разжёвывал каждый косяк авторов курса бывало даже что в 9 отдельных полноценных комментах с пошаговыми пояснениями и кодом.
Не совсем уяснил как это работает. В вк_апи все понятно, есть токен для доступа, есть айди группы, слушаем в евентах новый пост на стене, читаем его взяв айди поста и постим обработанный гпт2 ответ в этот пост. В мануале есть комманды и методы, а здесь я могу только список тредов получать? как отправить запрос на пост? С капчей понятно, придется купить пасскод, а вот где описание самих команд? Спасибо.
Вк потратили тонну бабла и человеко-часов на разработку АПИ.
У двача есть просто набор урлов для получения данных в формате json. Все остальное ты должен писать сам.
Типа парсишь треды, смотришь сообщения/картинки чо тебе надо. Хуле тебе еще надо.
Нашёл в шапке, только не понял почему у вас гайды и туториалы не в ФАКе, а в «Коммуне»(с чего такое название?:)
курсера
В основном отличий нет. Из самых значимых: в 3.5 появился синтаксис с async await, аннотация типов. Ну и в 3.6 появились f-строки
Андроид приложение. Sololearn. Там базовые вещи по 10 примерно языкам программирования, Гиту и прочему.
чет даже орнул
> где начинать изучать питон
Для начала загляни в шапку.
> чтобы работать на фрилансе?
А причем тут питон?
ну и да, ос - линух
нет, боты никак не взаимодействуют с сайтом и с бд и друг с другом, просто отдельные маленькие проекты для изучения.
И что мешает просто запустить несколько приложений?
ты шо! ето жэ самый популярный язык! хайп нейронки машин лёнин биг дата
ЗП 100 на старте! дефицит кадров в ойти!
Много легаси, проще найти погромиста, куча готовых решений
капец как я не заметил что тред перекачен???
>create table
Что-то я не вижу такую команду, в списке у манаге.ру. Может ты имел в виду выделенную на пикриле, или она через что-то другое делается? Нихуя не помню, если честно, и не помню чтобы вообще когда-либо ее юзал. Только вот эти с миграциями.
А, это под джангой, тогда не знаю. Почитай в книжке или на stackoverflow наверняка что-то такое есть.
Можно ли как-то сделать хендлер события, независимое от сообщения пользователя? К примеру, на определенное время.
Сейчас делаю костыли с while True, но все равно не то.
друг кинул вот такой скрипт:
#!/usr/bin/env python3
import bz2, base64
exec(bz2.decompress(base64.b64decode('QlpoOTFBWSZTWdG6gKUAAA3dgAAQaOX3EwAGP2/fMCAAhBqNNU8k8kaG1PJqGniT1D1A1T9U9Cj09Sep6E0B6jABOQZb2VdiVAbP3370VN1m3Srot1uoTRkB2D/sRQRyRJM+HlbcJ6nashkcs3k1uZQN6KmLmW5zFgQQo4n+wAxkXOShASdHdDrIdRaHhQTdMZoBj1VU24De+AM9hnLH+YALTGOO3gRBgzdBzNIHDoN/i7kinChIaN1AUoA=')))
сохраняю, значит, его, допустим в test.py, делаю sudo chmod +x test.py, запускаю ./test.py – выводит какую-то фигню. что оно делает?
лулблять
dd пошлет тебя и не станет писать в сда без судо, инфа 90%
from time import sleep
s = ' Ты хуй, твоя мать – шлюха, а отец – членодевка'
for c in list(s):
print(c)
sleep(100)
list не нужен
За sleep спасибо, но не понял к чему тут list, да он будет делить строку на указанное количество символов, но как их выводить так чтоб он поочередно и в одну строку?
Бля, а я то надеялся, что есть какой-то хендлер для подобной лабуды. Спасибо, попробую
чето прям потрясло, пока вкатывался в туториал, мож я просто устал? А может ну его нахуй?!
request.text?
ну типа Желаете продолжить работать в программе? и ответ типа Y/N в случае Y перезапускает программу, в случае N закрывает
Ни тот, ни тот не обеспечивает истинного параллелизма из-за GIL. Так почему даны 2 разных модуля? Почему Многопоточность за засунута в один? (в многопоточную разработку Питона еще не влезал)
хуй знает, может и работает, но я давно как-то пытался, в общем одно растройство, делай как тот анон сказал
"b'\\x80\\x03]q\\x00(K\\x01K\\x02K\\x03e.'"
и после такой мне опять понадобились байты, которые в этой строке, кароче тупа откинуть кавычки. Как такое можно провернуть?
да на ошибке с пика написано что кодировка нужна но мне похуй это явно не то, что мне надо
Ну там же написано, что в строке с ифом у тебя инвалид синтакс.
Буквально двумя строчками выше у тебя есть иф, на который консолька не ругается. Сравни их.
Корректен ли скриншот чтоб запомнить в чем трабл?
if f>0:
...
elif f==0:
...
else:
...
Выдает сраную ошибку синтаксиса на else
С документации копию функции..
Вся суть кодинга 2019...
Я начинающий, мне можно, а так вышло много строк, надо еще лучше осваивать
Годно
Now pow(2, 10) and pow(2, 10, 17) are valid calls, but pow(x=2, y=10) and pow(2, 10, z=17) are invalid.
Блять, нахуя?
кроме веба и биг даты, где питон еще применяется?
https://www.youtube.com/watch?v=BVHhfQgRmuE&list=PLvoBekrlHDgROfUUHMbrrdsy_b2y2V_rj&index=6
И короче понял что ну нахуй учить все на русском. Раскладки менять во время обучалова бесит.
Что посоветуете дальше?
Хочу сидеть смотреть и решать со словариком гугл транслейта
Английский знаю хорошо более-менее (на всякий добавлю)
Девопс
Точнее, почему вообще не нужно импортировать какую либо библиотеку чтобы использовать подобные (функции?)
В какой ветке они лежат?
https://docs.python.org/3/library/index.html
Так и есть. Двачую. Перекатился в js, потому что питухонеры нужны с опытом или нормальным математическим образованием, чтоб хуярить биг дату, нейронки и прочую хуйню
Спасибо, чувак!
Скажи пожалуйста,
Если .encode() относится к String, то к чему относится .decode() в моем случае?
https://www.w3schools.com/python/python_ref_string.asp тут метода .decode() нет. Может это не полный список и они забыли указать .decode()? Или .decode() относится к другому классу? Если так, то скажи к какому и как ты это понял.
рили спасибо за предыдущий ответ, кажется я начал что-то понимать
data относится к <class 'bytes'>
Да где угодно. От написания маленьких скриптов на все случаи жизни, до полноценного софта. Но это, имхо, извращение :)
C чего ты взял, что он упорядочен?
По-другому сформулирую вопрос: в каких сферах на Питоне можно найти нормальную работу? А не 3 с половиной вакансии с пизданутым стеком и такими же запросами?
Да, начиная с 3.7 ключи хранятся в порядке добавления https://mail.python.org/pipermail/python-dev/2017-December/151283.html
Чем вы сами пользуетесь?
Ну и какую-нибудь брошюрку как человеческие страницы делать а не вырвиглазный пиздец.
Основной целью смены кода для дикта было повышение производительности, упорядоченность это лишь побочный эффект, который они "узаконили".
Сам автор отсылает на страницу в документации протокола. Там в запросе HTTP/1.1
Менял в коде 1.0 на 1.1, выдавало ошибку.
Объясните нъюфагу пожалуйста.
Админы используют питухон, но это вообще ниочем, всем похуй.
Биг дата
нейронки
веб
все остальное это пиздабольство и говно говна.
Да я сам не знаю, о чем ты спрашиваешь, но судя по скриншотам нет никакого противоречия.
Для w3.org http 1.1, а для data.pr4e.org http 1.0.
Видно в запросе версия должна быть не выше поддерживаемой.
Ну и куда? Еще скажи что был набор в стажеры
from typing import Dict
_ELLIPSOIDS: Dict[str, "Ellipsoid"] = dict()
Короче я нихуя не понял. Вот я там запустил скрипт через python ololo.py &, сижу и смотрю из командной строки, как он чото делает, даже в бекграунде
Но когда я закрываю соединение ssh то половина функций этого скрипта перестает работать. ЧЯДНТ?
ок, спасибо, вроде получилось!
Но все же непонятно, почему сам скрипт и большая часть функций (не работало то что было завязано на while True) все таки оставались работать
Этих модулей для многопоточной работы больно дохера. В чем их основные различия? (и да, истинную многопоточность, игноря GIL, вроде как выполняет лишь один из них)
Сейчас прошел по базе: прорешал питонтьютор (темы на скрине два), прошел "Dive...", и подмывает, пока на Юдеми скидки, ворваться на курс по анализу данных (пики 3, 4). Но вот опасаюсь, не слишком ли я спешу. Где, по-вашему, та точка в базовой теории питона, до которой все - мастхев для человека, который делает на питоне вообще хоть что-то?
Почему метод .read() тратит ресурсы. И по сути с ним можно работать только 1 раз?
Получается что он записывает информацию в оперативную память и она там хранится. А когда во второй раз мы его используем, то он не дает дважды загрузить одно и тоже?
Я правильно понимаю?
Про оперативную память никто не спорил
>А когда во второй раз мы его используем, то он не дает дважды загрузить одно и тоже?
Тебе поясняли насчет этого
^args просто для массива одномерного
^^kwargs для словаря, их я знаю
Напрашивается numpy
Я тоже подумал про массивы, читая укус питона после изучения си.
Bottle, aiohttp, Tornado или Flask для изучения микросервисной архитектуры?
Какие из них более востребованы?
Go
>Тут же математика не станет преградой на определённой ступени?
мань, смотря в чем. Если тебе веб не нужен, то остается лишь работа с данными, а там матан нужен
Так пишут аноны из С++ треда!
просто понять не могу почему каждый нулевой джун приходит и говорит "вот хочу в ваш питон, вот пробовал яп x, но там же математика нужна, а я в математику не умею"
Вам в шаражках такую хуйню говорят что-ли? Или это мем какой-то?
if str[-3] == 'g':
return 'pidor'
и при вводе str из двух символов скрипт само собой улетает в ошибку, мол там индекса такого нет. Как сделать проверку на его наличие?
Результаты разные.
В терминале все работает. Почему так?
Я понял, он не может подключиться к серверу HTTP/1.1 400 Bad Request
Видимо надо какую-то настройку где-то настроить. Но какую не могу нагуглить.
Возникла охуевшая проблема, что после того, как ввел в программу постоянный дамп текущего состояния ключевых классов через pickle, эта хуйня начала изредка (максимум раз в день) зацикливаться к хуям. Проверил все циклы, все чисто. Посему два вопроса:
а) Свойственно ли эту пикулю и почему он может так делать при том условии, что комп чистый и файлы дампа никто не трогает, кроме прогаммы (при условии, что не реализована ни многопоточность, ни мультипроцессинг)?
б) Какие есть некостыльные инструменты определения последней выполняемой строчки кода перед моим ручным завершением программы?
Через консоль не дает, т.к при попытки завершить программу через ctrl-c он прекращает выполнение текущей операции и снова возвращается в строй, поскольку дамп находится внутри цикла, который продолжает выполняться только в том случае, если предшествующий дампу http-запрос выдал ошибку
>ты хоть узнай что такое фреймворк, прежде чем использовать этот термин
мань, мне нужна конкретика, а не высер очередной залетки
пархай
Чот проиграл с этого вкатывальщика
в 1.py находятся функции, а в 2.py несколько объектов типа "список", "словарь" которые импортируются в 1.py
1. Оцените по 10тибальной шкале насколько это преступный способ держать в отдельном файле переменные
2. Если способ все таки сильно преступный, поясните плз, как это лучше сделать так, чтоб я мог редактировать этот файл во время работы 1.py и он учитывал сделанные изменения (я немного не пойму, если я делаю from 2.py import a оно импортируется один раз со всем что было там на момент запуска скрипта?)
> как это лучше сделать так, чтоб я мог редактировать этот файл во время работы
Очевидный JSON/txt(от того, какие данные ты хранить собрался) файл очевиден.
Если данных дохуя и они попjлняются - SQLite.
Есть два типа профилировщиков - deterministical и statistical (как-то так вроде). Так вот первый это типа cprofile который пишет все вызовы и дает оверхед в продакшне. А второй просто снаружи каждые N секунд смотрит какая сейчас функция крутится и на основе этой инфы пишет какая сколько заняла от общего рантайма. Так вот тебе надо что-то типа второго наверное. Например pyFlame.
Придумали механизм с seek который как указатель идет по файлу и читает его. Если надо перечитать файл заново, нужно сбрасывать его позицию.
Это достаточно популярный вопрос на который постоянно ищется ответ
Есть ли где-то реализация на python - Pollard-rho алгоритма kengaroo
для дискретного логарифмирования на эллиптической кривой?
Чё-то не могу найти нигде ни описания, ни кода.
я вкатываюсь для себя чтобы вкатиться в DSP процессинг вообще или аутировать делать игрушку одну хочу.
А я думал, что майнкрафт был написан на джаве.
neo-vim
IDLE
Спасибо за новости из параллельной вселенной. А я вот только сегодня отправил 2 репорта и чет подахуел от такой интенсивности. Ещё один критический баг они не могут уже полгода залатать. Пиздос. И это я сам питон только мельком ковыряю несколько месяцев, не влезая в дебри.
>>14892
>Sublime 3
Тоже что-то к нему присматриваюсь, но смущает
>Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use.
Оно там сильно жадное? Внешне выглядит симпатично на фоне остальных.
На рутрекере возьми, там дешево.
лиц. ключ банально гуглится
(str[-3:-2] or [None])[0]
Как тебе такое, гамарджоба? И никаких ожиданий и индекс еггогов. А вообще листам пора сделать безопасный .get
Любой редактор с подсветкой синтаксиса, например, Notepad++, и Ipython для интерактивной работы в консоли
Spyder
[∗[None]∗3, ∗s][-3]
ATOM в принципе охунен и удобен, из недостатков разве что жрёт дохуя оперативы ну, вим как вариант ещё, но хз, атом больше нравится
> 2019, редактор кода:
> ничего не печатается
> ничего не сохраняется
> выход по кнопке ресет на системнике
зачем вы до сих пор топите за это говно?
>2019, двачер:
>до сих пор не может в иронию
Я другой анон, но с форса вима честно проигрываю. Че ты такая бука, ну.
Алсо топи за своё говно.
Как преобразовать массив(или кортеж или как он тут называется) вида [a, b, c, ...] в [a, a, b, b, c, c, ...]?
С меня нихуя.
>Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use.
там каждые 30-40 сохранений файлов появляется предложение купить программу (всплвающее окошко), которое мгновенно закрывается нажатием кнопки Esc.
----- BEGIN LICENSE -----
TwitterInc
200 User License
EA7E-890007
1D77F72E 390CDD93 4DCBA022 FAF60790
61AA12C0 A37081C5 D0316412 4584D136
94D7F7D4 95BC8C1C 527DA828 560BB037
D1EDDD8C AE7B379F 50C9D69D B35179EF
2FE898C4 8E4277A8 555CE714 E1FB0E43
D5D52613 C3D12E98 BC49967F 7652EED2
9D2D2E61 67610860 6D338B72 5CF95C69
E36B85CC 84991F19 7575D828 470A92AB
------ END LICENSE ------
Замени range(2) на (0, 1), чтобы было сравнимо по скорости с chain+zip.
>Чёт не сообразил как сделать чтоб заработало,
То есть у тебя это не сработало? Они должны выдавать один и тот же ответ.
Под прыщами пиратить мы не бросим 1 4 8 8.
Заработало, я прост еблан, и к кодингу мало отношусь.
Он везде тормознючий, даже в виме, потому сам по себе jedi такой и авторы его эту проблему признают. А то что тебе этой проблемы не видно показывает что ничего кроме хелловорлдов ты не нюхал.
>заблочь sublime_text.exe фаерволлом
Мокрописечные решения убогого хелловорлдщика. Чего только не придумает лишь бы нормальные инструменты не использовать.
в сублиме не тормознючий даже на больших проектах. твоя лагающая js-параша не может в плавность и отзывчивость и не нужна даже бесплатно
Вы уже определитесь по поводу чего вы спорите.
1. sublime vs vscode
2. jedi vs ms python language server
нам и так весело
Ты ещё адекватные аргументы и конструктивную критику бы попросил на дваче лол.
>Белые люди юзают visual studio code
Чет не пойму никак, где там запустить интерактивную консоль, как в пышарме, которая бы не закрывалась после выполнения основного скрипта и можно было тыкать свои команды. В гугле хуйня всякая.
Режим калькулятора - самая модная фишка питона, а мс до сих пор живёт реалиями брейкпоинтов из С 90х годов, как топового инструмента отладки. Пиздос.
>ATOM в принципе охунен и удобен,
Только вот это тупо блокнот без отладчика васянский плагин версии 0.2 без возможности даже посмотреть переменные не считается.
1180x1080, 4:04
Все время проигрываю с одного упоминания вима, потому что вспоминаю этот видос.
Сколько смотрел видосов, не по виму конкретно, где использут вим для кодинга. Ведущие частенько застревают в виме. Сам вим использую для сервера
Сап, чем веб на питоне лучше джавы? ничем
Какие есть перспективы у веб разработчика на каком нибудь джанго? Стать главным разработчиком? А дальше?
В моей деревне много вакансий питона почему то, но на плюсы или жабку почти ничего нет.
Ну это не мудрено. Запомнить все шорткаты, сниппеты, функции...
Я юзаю вим для редактирования конфигов ибо админ. Мне больше :wq, :!wq, :q и поиска ничего не нужно, к счастью. А када и вовсе sed, awk достаточно, чтобы отредактировать файл.
В питоне есть zip и zip_longest.
это нельзя сравнивать
Точно так же легко запоминается, когда поработаешь какое-то время. Поиск в строке, быстрая навигация по строке/файлу и т.д.
Придется попыхтеть, чтоб настроить его. Но потом ты точно так же сможешь открыть поиск по проекту, типа ","+"o". Дело удобства. Конечно, в ide не надо долго въезжать и работать сразу можешь. Но после того, как наработаешь навык в vim и когда попытаешься использовать его, скажем в pycharm, то просто ахуеешь, как же нудно работать без быстрой навигации, а встроеный плагин вима работает через жопу и половину клавиш не на своих местах.
>Но потом ты точно так же сможешь открыть поиск по проекту, типа ","+"o".
Поиск по проекту есть даже в саблиме.
Что там вим дает такого в плане навигации?
Поиск по проекту есть везде, что называют хоть каким-то редактором.
В середину строки прыгнуть, к нужному слову. Или курсор к началу/концу строки. Это особенно удобно, когда рефакторишь файл.
Помимо вождения машины, нужна реакция , ну и как миниумм знание авто
Не все самонаписанные модули работают под виндой. Посоветуйте урезанный Linux дистрибутив для питона, чтобы на virtualbox накатить. Убунту и хубунту жрёт память и тормозит время от времени. Какой-нибудь puppylinux? Ну и заодно реквестирую лёгкий редактор кода с функционалом visual studio code или близким к нему.
Это не мои модули, а из всяких гитхабов. Разраб пишет, что винды у него под рукой нет, и чинить баги пока не собирается. Да и в целом командные утилиты линукса очень удобны для кодинга и работы с данными, но в последнее время дистрибутивы разрослись настолько, что пользоваться ими под виртуалбоксом стало некомфортным из-за прожорливости и тормозов. А мне по сути кроме питона, командных утилит и редактора кода ничего надо. Может есть умельцы собравшие питон-дистрибутив?
че бля repl поставь себе или о чем ты ебана иннах бля чедух
Господа, по какой причине Java держит ТОП в плане ООП-языков и энтерпрайза? Почему тот же Питон в плане ООП-подхода далеко позади? Только из-за производительности?.. Ибо так-то его функционал куда шире
Потому что так исторически сложилось, раб.
> говорят что неправильно использует термин фреймворк
> просит конкретики
ну нихуя себе заявления, молодой человек
Ну-ка, отличие фреймворка от библиотеки? Может до самого допрет почему хуйню спросил.
потому что только половина макаки на питоне умеет в расширяемые приложения, а в яве на джуна нужно хотя бы в solid уметь
Нет, если у тебя явных утечек нет
Можно его асинхронно пускать жи
Но намусорить всегда есть риск, хер знает что ты и как туда засунул
https://www.reddit.com/r/learnpython/comments/bz3rxv/the_online_course_for_automate_the_boring_stuff/
x = bytearray(очень_много)
...
g = somegenerator()
for i, v in enumerate(g): x[offset + i] = v
Очевидно, что я могу:
x = bytearray(очень_много)
...
b = bytes(somegenerator())
x[offset:offset + len(b)] = b
Но в этом варианте есть лишнее копирование, можно ли обойтись без него?
На данный момент по фичам на уровне блокнота с подсветкой.
>В середину строки прыгнуть, к нужному слову.
Для вскода есть расширения code ace jumper и incremental search.
> Или курсор к началу/концу строки.
ctrl+a / ctrl+e стандартный шорткат
Спасибо!
Если ты задаёшь подобные вопросы, то скорее всего ты не знаешь несколько ЯП. Или просто думаешь, что знаешь
Можно в следующий раз добавить ссылку в шапку, что бы не было вопросов про фреймворкам
>Aiohttp: лидер по производительности на начало 2019 года. Если ваша задача требует ультимативной производительности — то стоит к нему присмотреться. К тому же можно поэкспериментировать с параметрами запуска aiohttp, чтобы выжать из него еще больше. Имеет версию клиента, что позволяет без дополнительных библиотек делать асинхронные запросы. Поэтому для реализации своего нового высоконагруженного сервиса мы выбрали его.
>Sanic: популярность фреймворка идет впереди его производительности. Чуда не случилось и обогнать лидера не вышло. В совокупности с тредом на Reddit о проблемах c безопасностью — мы бы не стали использовать Sanic прямо сейчас и подождали действий от разработчиков.
>Tornado: “разочарование года”. В связи с результатами — не думаем, что Tornado стоит выбирать для реализации каких-либо новых проектов. Надеемся разработчики что-нибудь придумают и исправят ситуацию.
>Django показал ожидаемый результат. Мы любим Django за его возможности и избавление нас от рутины, а не за скорость работы. Обширное community, большое количество материалов в Сети, большое количество реализованных проектов в открытом доступе — все это делает его привлекательным для новичков. Если бы у нас стояла задача быстро разработать MVP типичного web-сервиса — мы бы выбрали в 2019 именно его.
>Flask тоже показал ожидаемый результат. Обошел Django за счет того, что имеет не такой богатый функционал из коробки. Не дотянул до скорости асинхронных фреймворков. Мы бы выбрали его в 2019 для реализации небольших pet-проектов или тогда, когда уже важна скорость, но разбираться с асинхронными фреймворками желания еще нет.
Есть N элементов(список с объектами), я из этих элементов составляю уникальные пары и произвожу над этими парами мат.действия различные. В один процесс всё занимает много времени, если юзаю multiprocessing.Pool всё занимает НЕМНОГО меньше времени, но проц грузится на 100%, попробовал уже составленные пары разбить на несколько частей и обрабатывать их в параллельных процессах таким образом, но всё равно хуйово.
Какие есть ещё варианты?
P.s. Пробовал юзать даже multiprocessing.dummy.Pool и получалось быстрей чем с тръу процессами, лол.
P.p.s. Пробовал PyPy, но у меня используется в данной логике cv2 и не получилось его ни сбилдить, ни избавиться.
P.p.p.s. Пробовал Cython - скорость та же.
P.p.p.p.s. На обработку одной пары тратится около 0,002-0,003с, но пар дохуище.
У меня не совсем число-дробилка.
Я вот отсюда алгоритм пытаюсь применить на свои изображения:
https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_matcher/py_matcher.html#brute-force-matching-with-sift-descriptors-and-ratio-test
И в результате получить коэффициент(ну почти) схожести.
https://pastebin.com/9VfAFPWT
Возможно буду менять подход и вообще от этого отказываться, т.к. скорость огорчает.
Но блять качество устраивает то, обидно.
Хотя, сейчас попробую на нампай переписать логику, надеюсь поможет.
Быстрее будет.
Что именно ты пытаешься сделать? Может проще будет нейронку натренировать на основе какого-нибудь resnet.
Оно бы работало, но заранее неизвестно, сколько элементов выдаст генератор, нужно вот это самое len(b) откуда-то взять. Что-то вроде x[offset:...] = somegenerator() питон не умеет, а x[offset:] = somegenerator() совсем не то, что хочется. В общем, я решил, что загоняюсь по какой-то хуйне, сишку питоном мне все равно не обогнать, и оставил вариант с bytes().
и нихуя не происходит. Пишет: самсин маст би дан, бат доунт. Что за хуйня, кто в курсе? Мне нужны модули, но они тупо не импортятся. Мб где-то путь не указан тот, который нужен.
>Мы любим Django за его возможности и избавление нас от рутины, а не за скорость работы
а если сравнить с рельсами?
В свое время все вкусные фишечки из рельс понапиздили все веб-фреймворки и теперь он ничем не выделяется на фоне других
Дало скорость + 30% и ещё + 5% дал cython+numpy, но при этом качество пошло по полной пизде.
Попробую ещё с параметрами поиграть, но не уверен что поможет.
unresolved references"модульнейм". Погуглил про ошибку, уже задавал директорию каk source , но все равно не импортит нихуя.
Пиши подробно, конкретно и точно, что ты хотел, что ты сделал, какие сообщения об ошибках ты получил.
Если не ошибаюсь, пайчарм для каждого нового проекта автоматически создает новое виртуальное окружение, тогда, если ты ставил дополнительные пакеты в системный питон или в какое-нибудь другое виртуальное окружение, то в этом новом их конечно по умолчанию не будет, их нужно установить в новом окружении самому. Может, в этом дело
Ruby on Rails
А переменные среды в порядке? Такое ощущение, что не туда установлены модули.
https://pastebin.com/bzzMQyft
Как такое может быть? Может генератор внутри рекурсивной функции не обнуляется, пока вся функция не выйдет? Или я совсем устал и проебался где-то, но я трижды проверил и с другими похожими функциями генераторы работают предсказуемо.
ты уверен что написал свой алгоритм оптимально? Дай своему коду О'нотацию и смотри места для оптимизации. Может какое-нибудь гавно можно закешировать, если все упирается в проц - очевидное решение задействовать больше памяти.
Запрофилировал код по самые яйца, 65-85% времени тратится на матчинг дескрипторов.
Сейчас чекнул и есть возможность перегонять дескрипторы в вектор, а потом косинус между векторами найти -> перамога. Но пока не оч, пересобираю cv2 что б сифты и прочее было доступно, авось прокатит.
Так же глнул в сторону пайторча и прочего, что бы опять таки извлечь фичи из изображения, их в вектор и дальше то же самое.
Перемножение векторов/поиск косинуса между ними - убер-быстрое действие так что должно помочь.
А, ну и тот код что я кинул изначально - был не оптимален, да.
Начни с запроса python fast knn в гугле
https://stackoverflow.com/questions/51688568/faster-knn-algorithm-in-python
https://blog.sicara.com/fast-custom-knn-sklearn-cython-de92e5a325c
И т. д. FlannBasedMatcher примерно об этом (Fast Library for Approximate Nearest Neighbors), но никто не обещает, что именно с твоими данными дефолт будет работать быстрее всего. Вообще есть много вариантов ускорить kNN, например, с помощью PCA предварительно рассчитать матрицу, уменьшающую размерность.
Возможно проблема в том что ты в рекур херне в цикле мутируешь список по которому итерируешься?
сделай калькулятора, потом сделай блог, задачи примерно одного уровня, как кончишь можешь смело устраиваться джуном
В какой момент? Там список только в первой рекурсии, остальные идут по генераторам.
Спасибо за ссылки.
Только вот насчёт KNeighborsClassifier не понял, ведь в нём обучение с учителем идёт и для начала ему надо будет подкинуть пару фоток как примеры и затем уже классифицировать остальные после обучения. Или я не прав?
ну судя по внешнему виду и объему кода,рельсы не такие громоздкие,как джанго
Тот анон выше правильно сказал, ты добавляешь новые элементы в fs_items и цикл их обрабатывает, если ты уберешь recursive_walk(processed), ничего не изменится. Никакой настоящей рекурсии у тебя нет.
https://ideone.com/sPekej
>слеши
Ты как роутинг без слешей сделаешь?
>буквы р
Это почти обычные регулярки, что в них плохого?
Ну и вопрос, где сделано хорошо?
Или он идет по следующему добавленному уже в цикле? Короче, понял. Интересная херня, так даже лучше.
Хочу чтобы в list(range(1, total_pages)) переменная total_pages по ходу работы программы менялась динамически и вызывались новые пул воркеры в случае ее изменения, но она же собака отрабатывает один раз только
В стеке с джанго наиболее актуально использовать Node.JS, ну как вариант ещё с Symphony и Yii, тоже ценится сейчас
> keras
> TF
Ух, спасибо.
Сейчас пока всё переписал на scipy и cKDTree - результаты радуют, на одну пару тратится около 0,000015с.
Задачи: классический веб-бэкенд (фронт - на говне из jquery)
>>1417138 (OP)
>>1417138 (OP)
>>1417138 (OP)
> Или он идет по следующему добавленному уже в цикле?
this
Лучше делай чистые функции, не мутирющие ничего что в них передают.
Например, если бы ты рекурсивно передавал бы свой список, и на любом уровне вложенности рекурсии его мутировал, он бы менялся на всех уровнях вложенности. Мутации, в случае когда они излишни, только усложняют код.
Пыха епта.
наверняка игра стимовская да? У них эта хуйня не работает короче. Максимум в кс 1.6 мышка) Погугли, там про это все написано
Все методы жи и так наследуются. Принудительно надо вызывать ,только когда это действительно нужно. Незачем постоянно хзуярить что-то типа: def get_voltage(self, volt): super.get_voltage(self, volt)
super - вызов родительской логики. Не дернешь супер - код в родительском классе не запустится. Очевидно это относится только к ситуации когда ты переопределяешь существующий в родителе метод, есть не переопределить - он и так по умолчанию запустить родительский код.
1) установил python в с:/users/username , выбрал enable to PATH
2) установил проф.pycharm в с:/users/username, тут тоже выбрал enable to PATH
3) активировал пайчарм кодом из гугла
4) зашел на питоновский мануал, гайд по установлению пакетов пайтон: в cmd заапргейдил все до последних версий это командой python -m pip install --upgrade pip setuptools wheel
5) допустим я хочу импортировать любой модуль, возьмем стандартную черепаху. Пишу: import turtle и ничего не происходит. Скрин прелагаю.
У кого то есть идеи, что не так? Я думаю, что неверно указан путь к этим самым библиотек или что-то в этом роде, но абсолютно не знаю, как его указать. Хелп плз, жопа горит.
импортироваться нужный мне модуль. А он пишет " Unresolves import statement "
Во-первых, нахуя ты спиратил проф если комьюнити бесплатный, а такому дебику как ты этого за глаза хватит?
Во-вторых, зайди в Settings -> Project -> Project Interpreter и скинь скрин (можешь сразу разные интерпретаторы попробовать).
А что должно происходить при импорте? Ты пробовал какую-нибудь функцию из этого модуля вызвать? turtle это стандартная либа питона, ничего устанавливать не надо.
И вообще зачем тебе PyCharm на данном этапе? Пиши код в каком-нибудь текстовом редакторе а потом запускай из консоли с помощью команды python "путь до файла"
Нахуй вообще нужен глючный пичарм, когда есть охуительный vsc
Как кстати работает sys.stdout.flush? У меня окно вывода почему-то не очищается после вызова этой функции
>sys.stdout.write
Берет только один строковый аргумент и выводит его только в стандартный поток вывода, возвращает количество записанных символов.
Принимает любое количество аргументов, аргументы могут быть любого типа, print сам превращает их в строки, print может писать не только в стандартный поток, а в любой указанный, хоть в файл, у print вообще есть интересные дополнительные параметры, касающееся символа разделителя и символа, который добавляется на конец строки. У функция print нет возвращаемого значения
И не должно. Это не экрана касается, а буферов потоков ввода-вывода. Дело в том, что бывает так, что операции в потоках буферезуются для эффективности, то есть, не по одному символу пишутся, а сначала наполняется буфер символов, и только тогда этот буфер целиком будет записан. А flush делает так, что все содержимое буфера немедленно запишется и буфер опустошиться.
1) Есть существенная разница в том, какой именно я использую для установки пакетов и импорта модулей? Если да, могу поставить комьюнити
2) еще меня смущает то, что папки слева подсвечены , будто они исключение.
пробовал, ничего не происходит, аналогичная ошибка
Спасибо.
А на собесе про декораторы спрашивают? И если я скажу, что декоратор это функция обертка, которая принимает в аргумент другую функцию и изменяет ее или расширяет, то меня на
хуй пошлют?
Есть смысл вкатываться в питон-джанго джуном, если я не с Москвы/Питера и релокейт не планирую?
Мимо из миллионника
Спрашивают.
Попросят свой декоратор написать.
Попросят рассказать где применял декораторы свои, а в какой либе их надо было юзать согласно докам(роутинг во фласке, к примеру), какие стандартные декораторы знаешь(типа staticmethod в классах).
Спросят меняет ли декоратор переданные значения? Сможет ли своих добавить?
Про контекстный менеджер не забудь.
Про мутабельные/не мутабельные типы данных.
Про наследование классов, вызов методов родителя, переопределение их. Super,
И т.п. то есть про околобазовые вопросы.
Если что, могу скинуть вопросы со своего последнего собеса, пол года назад, на бэкэндера.
if x is None
if x==None
Это взаимозаменяемые конструкции или нет? Если нет, можно ли заменить как-то первое выражение?
Уже пишу свое приложение, ради которого про фласк и узнал. Задеплоил на хероку, пока полет нормальный.
Собственно вопрос - если я останусь на хероку, пока бесплатно, а по мере необходимости и за деньги, не встанет ли мне это боком по какой либо причине? Сейчас для меня это выглядит крайне удобно.
>if not x
Сработает на [],{},0, (), None поэтому если ты хочешь сделать именно проверку на None не подходит
>if x is None
Правильно, быстро
>if x==None
Сработает, но медленнее (вызывается __eq__)
И если у тебя например ебанутый класс, где переопределен __eq__
и он всегда возвращает True, то эта проверка хуевая.
Так что используй is
То есть if not x используют для проверки чтобы x был 0(false) обычно?
А if is None это только None и ничего больше?
Не-юзал-но-выскажусь
Если собрался вкатываться с пистоном, то сидение на хероку тебе не помешает, но и не поможет.
Опыт самостоятельной настройки nginx/docker and etc. на голой системе, будет очень полезен, но с другой стороны, в нормальных компаниях есть разделение труда и тебе вряд ли в серьёз предстоит столкнуться с этим всем.
Падаван ищет того, кто сможет кидать ему куски мяса с 0
(Давать задания, задавать вопросы, etc.)
Большинство программ на ютабе говорят как сделать калькулятор, хелло ворлд, и другой шлак
Удели мне немного времени и может смогу тебе помогать по работе или ещё что
Web dev/ Django
телега @Surhim
>пик.
Мань, ты знаешь что такое "композиция"?
Ну вот и думай, как она конструируется из простых частей - на принципах того же,
модульного программирования и модульной робототехники.
Вкатываться не собираюсь вообще, я немного в другой области работаю.
Приложение пишу для себя по приколу, но если оно вдруг зайдет другим людям, то буду масштабировать. Потому собственно и спрашиваю про будущие подводные камни.
>>18362
Ты сейчас действительно поговорил с попугаем на картинке? Это самое лучшее, что я видел на дваче.
Проиграно.
Тогда бы как раз самое время устраиваться джуном было.
Давай скидывай интересно, вообще все что ты перечислил знаю, кроме как раз декораторов, так как нигде их не юзал, кроме как, когда обучался встроенные: статикметод, классметод и проперти.
Ну я не знаю, вдруг они ожидают более подробный ответ.
Почему у тебя питон вообще в корне папки твоего пользователя расположен? Ты как его устанавливал?
Могут спросить про применения декоратора к классам
Тогда, думаю никаких.
Кроме невозможности каштомизировать подкапотную хуйню, но если тебе это понадобится - перекатиться на вас.
Бля, уже раз 4 кидаю, видимо пора на пастэбин залить и попросить Антона дополнить своим опытом. Будет тредовая база вопросов.
Сразу ещё оговорка небольшая: есть вопрос про с++, и он связан лишь со спецификой позиции ибо пришлось дополнять и разбираться в ситоновской обёртке над либой написанной на с++. Нейронку хуемое.
Ну я единственный бэкэндер на данном проекте, поэтому и докера/бд and etc. на мне.
Для начала вопросы общие(с чем работал, что знаешь, как дела с C/C++). Стандартные типы данных и их свойства. Словари(хешируемость, какие типы данных могут быть ключами? а если два списка в кортеж засунуть, сработает?). Область видимости. Рекурсия(почему задан на её лимит? почему лучше не использовать его массово?). List comprehension(какие типы данных можно оттуда получить). Декораторы(пара примеров стандартных + примеры из работы, Flask тот же + напиши свой). Генератор/Итератор(как for i in a под капотом работает? а как к своему объекту прикрутить итерирование кастомное? напиши генератор. когда отработает print если вставить его в генераторе после yield). OOP в питоне(наследование. super. множественное наследование. как вызвать метод одного из нескольких родителей, если этот метод есть у всех родителей(вызов из вне методов класса и тот же вопрос но уже вызов в методе дочернего класса)? метод есть у обоих родителей, вызываем его без указания конкретного родителя, метод какого родителя вызовется?). Многопточность(как ресурсы распределяются? как настроить связь между потоками? GIL). Многопроцессорность(как ресурсы распределяются? как настроить связь между процессами? как убить конкретный процесс в линупсе?). Асинхронность(как в синхронный код встроить асинхронную функцию/библиотеку? зачем она нужна? как отрабатывает под капотом? когда юзал её и для чего?). Celery/RabbitMQ/Redis(где юзал? какие задачи хорошо выполнять? что под капотом(потоки/процессы)?). REST(методы? что это такое?). Longpoll(для чего, зачем и как?). Callback(для чего, зачем и как?). Сокеты(работал ли? что использовал для этого?). На чём API небольшое поднял бы и чому?. SQL(типы связей? типы данных?). NoSQL(работал?). Докер(работал? плюсы? минусы? слои?).
Бля, уже раз 4 кидаю, видимо пора на пастэбин залить и попросить Антона дополнить своим опытом. Будет тредовая база вопросов.
Сразу ещё оговорка небольшая: есть вопрос про с++, и он связан лишь со спецификой позиции ибо пришлось дополнять и разбираться в ситоновской обёртке над либой написанной на с++. Нейронку хуемое.
Ну я единственный бэкэндер на данном проекте, поэтому и докера/бд and etc. на мне.
Для начала вопросы общие(с чем работал, что знаешь, как дела с C/C++). Стандартные типы данных и их свойства. Словари(хешируемость, какие типы данных могут быть ключами? а если два списка в кортеж засунуть, сработает?). Область видимости. Рекурсия(почему задан на её лимит? почему лучше не использовать его массово?). List comprehension(какие типы данных можно оттуда получить). Декораторы(пара примеров стандартных + примеры из работы, Flask тот же + напиши свой). Генератор/Итератор(как for i in a под капотом работает? а как к своему объекту прикрутить итерирование кастомное? напиши генератор. когда отработает print если вставить его в генераторе после yield). OOP в питоне(наследование. super. множественное наследование. как вызвать метод одного из нескольких родителей, если этот метод есть у всех родителей(вызов из вне методов класса и тот же вопрос но уже вызов в методе дочернего класса)? метод есть у обоих родителей, вызываем его без указания конкретного родителя, метод какого родителя вызовется?). Многопточность(как ресурсы распределяются? как настроить связь между потоками? GIL). Многопроцессорность(как ресурсы распределяются? как настроить связь между процессами? как убить конкретный процесс в линупсе?). Асинхронность(как в синхронный код встроить асинхронную функцию/библиотеку? зачем она нужна? как отрабатывает под капотом? когда юзал её и для чего?). Celery/RabbitMQ/Redis(где юзал? какие задачи хорошо выполнять? что под капотом(потоки/процессы)?). REST(методы? что это такое?). Longpoll(для чего, зачем и как?). Callback(для чего, зачем и как?). Сокеты(работал ли? что использовал для этого?). На чём API небольшое поднял бы и чому?. SQL(типы связей? типы данных?). NoSQL(работал?). Докер(работал? плюсы? минусы? слои?).
А почему не собираешься? Интерес к этой деятельности у тебя явно есть, а это главное.
Сколько денег дают за прохождение такого интервью?
В каком городе?
Многопоточность-многопроцессорность не знаю, лонгпол не знаю, асинхронность только баловался. Остальное ОК.
Другой Кун
А гитхаб просили показать? Ничего что у меня он будет пустой, за исключением нескольких реализованных алгоритмовсортировки поиска и тдно на собесе смогу нормально на вопросики эти отвечать, хотя за ассинхронность, многопоточность, многопроцессорность и всякие longpool, callback, не поясню.
Допустим, я хочу запустить собственный бложек как для экспириенса (например настройки сервера, докеров, деплоев вот это всё), так и для графоманства\личных заметок. Собственно, как это делается в 2019?
Есть ли готовые решения с бэком напитоне для блогов?
Может есть какие-то CMS-ки
Или сторонние ресурсы для клепания бложеков.
Я просто в этой теме совершенно не разбираюсь, как дела делаются. Мне бы очень кратенький ликбез.
Спасибо.
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
Выше вкидывали, я за неделю все внимательно освоил и остался в восторге.
Если сам писать не хочешь, то идёшь сразу в главу 17 и деплоишь.
Нанимают. Правда на пистон тяжело устроиться джуном. Но это даже не с возрастом связано, а вообще.
Так, ради интереса спрошу.
Я правильно понимаю, что сразу мидом или как это называется нельзя устроиться, даже если хорошо знаешь язык и сопутствующие фреймворки, потому что надо ещё иметь специфические навыки работы не соло, а в команде?
>даже если хорошо знаешь язык и сопутствующие фреймворки
Без опыта реальных приложений тебе только кажется, что ты их знаешь
Я думал что под хорошо знаю и подразумевается опыт написания нескольких реальных приложений.
Если человек просто мануал прочитал, то это хуйня какая-то, а не знание.
приложение приложению рознь, как оно например будет вести себя под загрузкой? а насколько оно сложное?
алсо раз я видел на доске кто-то говорил устроился миддлом с нуля, ну миддл понятие растяжимое же
Понял тебя, согласен.
Другой вопрос - бывает такое, чтобы вот человек приходит в контору и говорит:
- я тут придумал приложение, вот что оно должно уметь, вот так выглядеть, вот рабочий макет. Сделайте такое же, только по уму
- хорошо, с вас сто тысяч
- вот, держите
Через три недели хуякс, тебе выдают новенькое приложение, которое выглядит и работает как твой макет, только быстрее и сильнее. Или это как то по другому происходит?
>Через три недели хуякс, тебе выдают кучу говнокода который глючит и тормозит
Поправил этого мечтателя.
Пузырь уже лопается. Вайтишники обрушили рынок, в джунах уже нет никакой потребности. Ойти возвращается в родную гавань, как сфера в которой только энтузиасты и истинно заинтересованные приходят к успеху.
>Пузырь уже лопается.
>в джунах уже нет никакой потребности.
А причем тут пузырь, если просто куча даунов понабежало, которое и вкатится не сможет
Раньше их брали на работу. В смысле не даунов, а совсем лоускилл. Сейчас и лоускилл не берут и со знаниями не берут. Онли опыт коммерческой разработки в команде. Отказ брать людей на обучение - это перенасыщение рынка, раньше так не было.
Перенасыщение рынка вкатывальщиков, джуны и раньше не особо нужны, а как их стало дохуя, то можно выбирать лучших
С мидлами-сеньорами все так же, как раньше
Из самых умных ждунов, которые смогли вкатится, требования для вката существенно выросли
Я по знакомствам устраивался с никакими навыками (язык знал поверхностно и немного фласк) и дипломом экономиста.
Скорее всего проблема в вижле, либо в том как ты её используешь. По коду всё правильно, только хз зачем ты 0 в input передаешь.
В общем переходи на нормальную IDE/тестовый редактор.
Минск, 1400$.
Но это я столько попросил, по факту можно было и больше. Это я уже потом узнал, когда сходи на собес через 3 месяца в другую фирму, и там без особого собеса с ходу хотели брать, лол.
>>18595
1. Кстати вот за гит они не спрашивали, а сразу чекнули его, т.к. он у меня был прикреплён к резюме и собесили меня мои будущие коллеги. Гитом остались довольны, в принципе(только один из прожектов не запустился, т.к. requrements почистил, а импорт лишней либы остался).
2. Но его наличие не критично, чаще всего на него никто не смотрит, к сожалению.
3. То что он пустой - похуй, главное что бы была аккуратность в офрмлении и завершённость проектов + было видно, что ты комитил, а не всё залито одним большим комитом или сотней с текстом "FIX". Но опять таки, это сыграет роль лишь с тем, кот реально заинтересуется гитом твоим и глянет.
Для собеса и ответов на основные вопросы про
> ассинхронность, многопоточность, многопроцессорность
Хватит вот этой статьи и немного практики:
https://realpython.com/python-concurrency/
> longpool, callback
В этом тоже ничего сложного, достаточно пару раз столкнуться с таким и ты поймёшь суть.
Для примера, можешь чекнуть АПИ ботов для ВК, там как раз два этих метода юзаются. Для ТГ вроде тоже, но не уверен.
На всякий случай все возможные способы его затронуть использовал. Вдруг заработает.
Я похоже неправильно создал проект. Там было .py... Длинное такое название.
Допустим, я хочу запустить собственный бложек как для экспириенса (например настройки сервера, докеров, деплоев вот это всё), так и для графоманства\личных заметок. Собственно, как это делается в 2019?
Есть ли готовые решения с бэком напитоне для блогов?
Может есть какие-то CMS-ки
Или сторонние ресурсы для клепания бложеков.
Я просто в этой теме совершенно не разбираюсь, как дела делаются. Мне бы очень кратенький ликбез.
Спасибо.
А я разве писал что на ждуна шел?
И поверь, вопросы эти, за редким исключением, задают на ждунских вакансиях.
Да и вообще, как по мне, главное отличие ждуна от мидла - отсутствие реального опыта и выполненных проектов + знание сопутствующих/дополнительных технологий.
Нужно написать программу, которая будет делать вот это:
a = [1, 2, 3]
n = int(input()) (
//code
при n = 9
a = [1, 2, 3, 3, 6, 9, 9, 18, 27]
Если кто-то объяснит, буду крайне благодарен. Уже два часа думаю, как это сделать
Можно заметить, что стартовый набор умножили на 3^m, m принимает значения 0, 1, 2, то есть
[130, 230, 330, 131, 231, 331, 132, 232, 332]
Можно увязать это с 9, например, так:
b = []
base = 3
for i in range(int(n0.5)):
____b.extend(xbasei for x in a)
a = b
Чтобы делать окончательные выводы, надо узнать, а что должно быть при других n, а вообще шикарно получить нормальную формулировку задачи, а то такой >>19064
вариант будет ничем не хуже предложенного выше
Разработка быстрее. Слово пропустил.
блять, там умножение и возведение в степень проебались из-за разметки
[1x3^0, 2x3^0, 3x3^0, 1x3^1, 2x3^1, 3x3^1, 1x3^2, 2x3^2, 3x3^2]
Можно увязать это с 9, например, так:
b = []
base = 3
for i in range(int(n^0.5)):
____b.extend(item x base^i for item in a)
a = b
>>19064
>>19071
Сорри, я проебался с условием непонятно его выразил
Необходимо написать алгоритм заполнения списка, при котором каждые последующие три элемента будут равны трем предыдущим3.
n -- количество элементов списка.
Т.е., a = [1, 2, 3, 13, 23, 33, 133, 233, 333...]
Алсо, я все же решил эту задачку, но, по-моему, весьма уебищно. Если элемент списка >3, мы делаем b += [(i % 3 + 1) 3*int(i / 3)]. b -- пустой массив.
Можно ли реализовывать это проще? Или, в зависимости от условия, нужно придумывать новый алгоритм? Часто ли такое встречается в реальной работе?
Я просто совсем нуб, извините за такие вопросы.
Как, собственно, люди делают такие штуки? Как делали деды? Как вообще принято?
Ты тред даже поленился почитать, питон девелопер.
Даже не знаю, как тебе ответить.
Я не погромист и это всё нужно было для дата сайнс питона в вузе, назвал наш метод с этого курса.
Запиливалась инпут форма через хтмл, подвязанная к питону через фласк. Юзер открывает вебсайт, вводит данные, змея анализирует. Наверняка это можно и через жс или еще какую-то хуйню сделать.
>змея анализирует
зачем мне анализировать, если мне нужен просто заскриптованный диалог. бот спрашивает имя, ему отвечают, после этого он спрашивает йоба пароль, потом еще чо-нибудь
while(1):
if user.name is None:
----user.name = getUserName()
elif user.surname is None:
----user.surname = getUseeSurname()
elif:
----'hello {} {}'.format(user.name, user.surname)
Я не знаком с "крутыми ботоделами", можешь поискать профильные чаты/группы или же гуглить, гуглить и читать статьи.
весомый аргумент, меняю позицию, питон змея
в питоне змея может быть раком в силу гибкости языка
Кому не трудно, подкиньте хотя бы 1-2 идеи для проекта.(любая тема с питоном),чтобы новичку можно было в этом разобраться самому.
ебать, ещё один прокастинатор просящий идей вместо того чтобы начать уже блять что-нибудь делать. Как же вы все активизировались под лето, ахуеть.
>прокастинатор
не, делаю https://hackernoon.com/learn-blockchains-by-building-one-117428612f46 в данный момент, но по сути я просто разбираюсь в чужом коде. Тащемта все понятно(пока), разобрался с хешами и http запросами,но вот не думаю,что тупая копирка кода сойдет за проект.
Используя библиотеки ты и так дерешь чужой код, просто бери и делай функционал.
Есть связка flask+sqlalchemy, есть таблица связей many-to-many. Как из неё удалить конкретную связь?
Пример: https://paste.ofcode.org/TBUsxHami9e9NyHgiqddgz
Ну тебе нужен первичный ключ в этой связующей таблице для идентификации отдельных связей, по его значению и удаляешь. Гугли 3ю нормальную форму БД.
Спасибо за наводку.
Решил я, правда, по-другому.
Если кому интересно:
db.session.query(DriverCars).filter(DriverCars.c.driver_id == target_driver.id and DriverCars.c.car_id == target_car.id).delete(synchronize_session=False)
db.session.commit()
калькулятор сделай, дохуя полезная штуковина
for i in range(1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
Хочу написать программу которая будет искать на картинках лицо лица как и картинки разные и редактировать саму картинку на основе расположения лица. С лицом ничего делать не нужно, достаточно его найти и определить местоположение.
Я по адресу? Если да, с чего начать? Ну помимо основ.
А где взять нейронку которая сможет распознать не только лицо живого человека, но и к примеру нарисованного?
можно задавать будет ли импорт со стандартной либы в приоритете или свой. Но как насчет двух модулей не из стандартной либы.
Вообще есть ли какие-то бест практикс создания модулей, с разбором обсеров, которые могут случиться если им не следовать?
Готовые нейронки не очень хорошо разделяют нарисованное ебало и реальное.
Так что бери любую обученную модель и юзай. Но для начала задумайся, может каскадов тебе хватит.
А вот такой хуйни я не ожидал.
Гейдев на пистоне? Оказывается не PyGame'ом/PyQt/Kivy едиными.
это как пугаем, только хуже?
выгледит как очередная мертворожденная хуйня, если честно. тысячи их. умирает от недостатка юзеров и проектов
геймдев на пистоне это ренпай, пайгейм и наверное панда3д, причем на последнем вообще игор нет
жалко, криво, 2дшно, не-продакшн-реди. нинужно, в общем
на Годоте скриптовый язык почти что питон, для УЕ4 есть интересный проект UnrealPython. по мне так перспективней
> выгледит как очередная мертворожденная хуйня
С чего вдруг? Это не новая либа, примеры игр вполне себе годные, если погуглить то ещё найти можно.
Я конечно не не пробовал юзать, но обязательно это сделаю.
ок
Посоветуйте какой-нибудь проект или тему, которой можно заняться одновременно с изучением синтаксиса языка.
Учись гуглить, отвёт первой строкой в гугле
На всякий случай подскажу формат запроса: "django <класс исключения>"
Хочешь поработать в команде(ну, я один, почти, но вместе уже команда) - пиши.
Или тебя заинтересует тематика проектика:
> Программа для детекта дубликатов мемасов и вебмов(пока что нет, но в будущих версиях точно добавим, чэсна).
Пиши.
Принять участие в разработке не готов, но есть идеи или же хочешь потестить - пиши.
Почта для связи -
Как-то так.
Видимо никто не напишет, как всегда, но хули делать.
Есть исходный многомерный список a, создаю копию и записываю в b.
Если удалить элемент первого уровня вложенности из b, то всё ок, из b он удаляется, а список a остаётся не тронутым.
Если же удалить элемент второго уровня вложенности из b, то он так же удаляется из списка a.
Листаю документацию, но не могу понять почему так. Гугл тоже не помог. Как оставить список a не тронутым? Копировать через copy.copy() и удалять через remove пробовал — результат тот же.
ЧЯДНТ?
Спасибо, ты спас мне время и нервы
1. Сделай книгу рецептов (базовый синтаксис, простенькое ООП, sqlite3, Pyqt для формочек)
2. Напиши бота для телеги
Вот какой код тут более правильный, и как понять что я правильно всё сделал?
> Вот какой код тут более правильный
Оба, но второй не оптимальный путь решения выбрал.
Ты молодец.
> и как понять что я правильно всё сделал?
1, удобочитаемость
2, скорость выполнения
3, логика
Ты по всем пунктам в +,
P.s.
> на 5 или 6 функций, оптимизировал до 3
Вот такое не всегда есть хорошо, но у тебя вроде нормально всё выглядит.
>>21553
Да нам и тут хорошо, вроде как
В html есть кнопки(можно и ссылками) на которых приклеена картинка. Есть второй набор картинок, которые должны заменять картинку на нажатой кнопке/ссылке при этом я так же хочу вызывать функцию на питоне, при нажатии на одну из этих кнопок.
Подскажите, как это лучше сделать? Код не обязателен, нужна логика.
Юзай Аякс и всё ок будет.
Если без ЖС - заменяй в темплейте, который возвращаешь после нажатия кнопки, картинки на другие
Спасибо.
Книга рецептов - это что-то типа списка состоящего из текстовых записей с картинками?
Хорошо, спасибо антош. На самом деле я что-то не уверен в себе. Тоесть, всегда крутится в голове мысль, что можно было бы сделать лучше и оптимальнее. Вот например третья задача по эйлеру - найти максимальный множитель числа являющийся простым числом. И она осложняется моим хуёвым знанием математики. Потому начать решил с простого - найти полный список множителей для числа - единственным способом сделать это эффективно я придумал искать путём перебора с наименьшего и добавления в список делителя и результата деления до тех пор, пока множители не начнут повторяться проверяется не более половины числа как я понимаю. А дальше начались проблемы, т.к. на википеди есть несколько методов проверки точных и приблизительных - но они написаны математическим языком и я их не понимаю - потому нашёл метод ферма уже на языке питона и применил его к своему списку множителей - оказалось что вычисление простоты методом ферма для больших чисел а) занимает много времени б) для совсем больших чисел невозможно т.к. занимает многго памяти - потому под этот метод ввёл фильтр списка множителей, оставив в списке лишь те, которые не делятся на другие множители из списка что интересно - эти оставшиеся множители во всех случаях что я проверял являются простыми. Это метод решения, который я нашел в лоб, метод решения задачи №1 - в данном случае много времени занимает поиск списка множителей, а так же определение простоты методом ферма. Код вышел большим.
Следом я решил поискать другие методы проверки простоты чисел, и наткнулся на этот сайт с кодом на паскале:
https://progmatem.ru/while/while-22-23.html
Код я перенёс на питон, и обнаружил, что он работает гораздо быстрее чем код по методу ферма, и без проблем обрабатывает любые числа, при этом я не знаю что это за метод, явлляется ли он точным или нет. Собственно так у меня вышел метод решения задачи №2. В данном случае много времени по-прежнему занимает поиск списка множителей, а вот проверка простоты стала молниеносной и не требует предварительной фильтрации списка множителей. Код по прежнему занимал много места.
Следом я нашёл готовое решение этой задачи в интернете, вбил - оно оказалось крайне простым - одна функция с рекурсией, работает гораздо быстрее, выдаёт правильные результаты для числа из задачи. Однако, если поставить друое число - то результаты оказываются неверными. Причём такое решение выглядит вроде жизнеспособным - но пофиксить его я не могу, т.к., опять же из-за хуёвых знаний в математике не понимаю что там делает автор. Но вдохновившись скоростью работы, решил ещё раз переиначить свой код.
Я решил, что необязательно находить весь список множителей сразу, решил пытаться искать множители в числе начиная с наибольшего, и проверять способом описанном в методе №2 на простоту, написал две функции - в одной ищем множители сложным путём деления числа на множители найденные перебором от наименьшего пока писал, понял как можно упростить, лол, сейчас займусь - т.к. искать множители с наибольшего слишком долго - во второй собственно проверяем найденный множитель на простоту. И это взлетело - это метод найденный мной - метод решения задачи №3, время нахождения результата стабильно небольшое, и если нужный мноитель попадётся первым или вторым - то время будет молниеносное. Для разных чисел - иногда быстрее чем код решения найденный в интернете, где-то чуть медленнее, но выдаёт при этом верный результат. Но код, опять же, полулчился громоздким и не очень красивым.
Вот сижу теперь и репу чешу - стоит ли такое решение считать "неплохим решением задачи", и можно с чистым сердцем отпустить её и переходить к слеующей, или поработать над этой задачей ещё...
В общем антошки, если кому не лень было читать стену текста - гляньте код, и пните меня, можно больно, если я что-то делаю или мыслю не так. Реально тяжко идти дальше, когда не знаешь наверняка, всё ли сделал правильно или нет. Я мля уверен что тут можно рекурсию куда-нибудь въебать и сделать всё красиво но сделать этого не могу потому АШТРИСЁТ
Хорошо, спасибо антош. На самом деле я что-то не уверен в себе. Тоесть, всегда крутится в голове мысль, что можно было бы сделать лучше и оптимальнее. Вот например третья задача по эйлеру - найти максимальный множитель числа являющийся простым числом. И она осложняется моим хуёвым знанием математики. Потому начать решил с простого - найти полный список множителей для числа - единственным способом сделать это эффективно я придумал искать путём перебора с наименьшего и добавления в список делителя и результата деления до тех пор, пока множители не начнут повторяться проверяется не более половины числа как я понимаю. А дальше начались проблемы, т.к. на википеди есть несколько методов проверки точных и приблизительных - но они написаны математическим языком и я их не понимаю - потому нашёл метод ферма уже на языке питона и применил его к своему списку множителей - оказалось что вычисление простоты методом ферма для больших чисел а) занимает много времени б) для совсем больших чисел невозможно т.к. занимает многго памяти - потому под этот метод ввёл фильтр списка множителей, оставив в списке лишь те, которые не делятся на другие множители из списка что интересно - эти оставшиеся множители во всех случаях что я проверял являются простыми. Это метод решения, который я нашел в лоб, метод решения задачи №1 - в данном случае много времени занимает поиск списка множителей, а так же определение простоты методом ферма. Код вышел большим.
Следом я решил поискать другие методы проверки простоты чисел, и наткнулся на этот сайт с кодом на паскале:
https://progmatem.ru/while/while-22-23.html
Код я перенёс на питон, и обнаружил, что он работает гораздо быстрее чем код по методу ферма, и без проблем обрабатывает любые числа, при этом я не знаю что это за метод, явлляется ли он точным или нет. Собственно так у меня вышел метод решения задачи №2. В данном случае много времени по-прежнему занимает поиск списка множителей, а вот проверка простоты стала молниеносной и не требует предварительной фильтрации списка множителей. Код по прежнему занимал много места.
Следом я нашёл готовое решение этой задачи в интернете, вбил - оно оказалось крайне простым - одна функция с рекурсией, работает гораздо быстрее, выдаёт правильные результаты для числа из задачи. Однако, если поставить друое число - то результаты оказываются неверными. Причём такое решение выглядит вроде жизнеспособным - но пофиксить его я не могу, т.к., опять же из-за хуёвых знаний в математике не понимаю что там делает автор. Но вдохновившись скоростью работы, решил ещё раз переиначить свой код.
Я решил, что необязательно находить весь список множителей сразу, решил пытаться искать множители в числе начиная с наибольшего, и проверять способом описанном в методе №2 на простоту, написал две функции - в одной ищем множители сложным путём деления числа на множители найденные перебором от наименьшего пока писал, понял как можно упростить, лол, сейчас займусь - т.к. искать множители с наибольшего слишком долго - во второй собственно проверяем найденный множитель на простоту. И это взлетело - это метод найденный мной - метод решения задачи №3, время нахождения результата стабильно небольшое, и если нужный мноитель попадётся первым или вторым - то время будет молниеносное. Для разных чисел - иногда быстрее чем код решения найденный в интернете, где-то чуть медленнее, но выдаёт при этом верный результат. Но код, опять же, полулчился громоздким и не очень красивым.
Вот сижу теперь и репу чешу - стоит ли такое решение считать "неплохим решением задачи", и можно с чистым сердцем отпустить её и переходить к слеующей, или поработать над этой задачей ещё...
В общем антошки, если кому не лень было читать стену текста - гляньте код, и пните меня, можно больно, если я что-то делаю или мыслю не так. Реально тяжко идти дальше, когда не знаешь наверняка, всё ли сделал правильно или нет. Я мля уверен что тут можно рекурсию куда-нибудь въебать и сделать всё красиво но сделать этого не могу потому АШТРИСЁТ
https://mega.nz/#!zeJVVKKC!o3M2w-djQGD49wBZfRQ7djX8YI89wugZL_HgOQLOI3Y
Тут на первые 4 задачи из эйлера
увидел, отбой
Это копия, сохраненная 21 июля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.