Тред, посвящённый языку программирования Питон, #74.Предыдущий >>1521391 (OP)ЧАВО: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat актуальность примерно 2015 годаКнижки: https://yadi.sk/d/HQhhsBsq3TVRUqТоже книжки: https://yadi.sk/d/tArKKuQu3KejuqБольше книжек: https://yadi.sk/d/H-00n-UG3RSQemОчень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLKАнон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрацииhttps://dumpz.org/ - можно постить листинги, не требует регистрацииhttps://pastebin.com/ - для листингов, регистрация не обязательнаhttps://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудитьhttps://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться#######################################Вопросы-ответы:А стоит ли читать Лутца, том номер N? Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем - решать тебе, книга вредна не будет, то ты можешь её просто не дочитать и забросить.Стоит ли читать %книга_нейм%, если там питон версии 2.х? - Нет, не стоит. 100% есть более актуальная книга, для пистона 3.хА что ещё можно читать? - Питон сам по себе очень хорошо задокументирован, и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.htmlЕсть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги. - МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? - очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4А как учить джангу? Нахожу только книги по джанге 1.х - У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой, из официальной документации.В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать - Вот, пожалуйста, та же самая программа, но переработанная под язык Python http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Как во фласке загрузку каждого нового файла делать на отдельную кнопку? Пишу в форме images = MultipleFileField('Добавить изображения') . Но нельзя загрузить несколько сообщений по одному, только разом выделить несколько, что, очевидно, неудобная хуйня.
>>1532152Сам то понял что спросил?В форме на фронте у тебя может быть 100500 этих кнопок, но если post запрос один, они все равно все скопом загрузятся.На беке при обработке запроса можешь получить все эти файлы из словаря данных запроса. Типа requests.data.files
В джанге можно полям manytomany задавать значения по умолчанию? Например чтобы по умолчанию в поле были всё объекты модели, на которое поле ссылается
>>1532134 (OP)Апну вопрос с прошлого треда, а то там только в рофл ответили и тред утонул.Что нужно знать, что бы пайтон программистом зарабатывать хотя бы 400-500$ в месяц?Учу месяца 3, знаю сам пайтон, sql (на уровне создания/удаления таблиц и разных селектов), гит, основные библиотеки, bs4, регулярки и немного джанго, только учу. Что нужно сюда добавить?
>>1532471>РАБотуАльтернативные варианты - фриланс и свой проект. В первом придется конкурировать с охуевшими индусами, во втором надо либо родить действительно годную идею и качественно ее реализовать, либо быть больше чем программистом чтобы пролезть в жопу без мыла переполненную нишу.
>>1532463Алгоритмы и структуры данных, много джанго, фласк, aiohttp и понимание асинхронности. Ну и конечно парочку крупных проектов самописных, работающих, чтобы можно было показать.
>>1532478тащемта он мог бы укатится на тестировщика временно а по вечерам импрувится, хотя он просто начнет бухать по вечерам и забьет болт
>>1532489Чел, я перекатился в тестировщики из-за того, что не мог найти работу на питоне. Как раз думал, буду в свободное время импрувить свои знания и позже перекачусь в разрабы. Ну чо-т хуй знает, где это "свободное время" брать. Если только ты не на 8 часов идёшь устраиваться. Да и вообще после такой монотонной работы очень быстро заёбываешься и под вечер уже нихуя не хочется делать, а только аутировать за ютубом.
>>1532563попробуй помимо вздрочнуть жабку и катись в веб, там вакансий вагон вечно, а если дохуя умный то кресты какие нибудь и машобсмежные языки глянь шо я те могу сказать
Предположим, у меня есть множество элементов в списке, элементы такие: 234!111^283 Мне нужно вытянуть то, что находится между восклицательным знаком и ^ (т.е в данном примере вывод будет 111Как это сделать? через регулярки гуглил, но ничего не нашел, сплит тоже хуйня какая-то, работает только с одним символом. Вроде простая задача, но пиздец, не знаю что делать
Ананасы, помогите с корректной командой: есть бд на sql и надо по ней проводить поиск по конкретным аргументам, которые зависят от ввода.
Аноны, подскажите ньюфагу, а можно ли подключить библиотеку .dll от .NET к обычному Python?Или нужен ironPython?
>>1532661Тебе нужно это:https://stackoverflow.com/questions/902408/how-to-use-variables-in-sql-statement-in-python
>>1532625Я могу такой альтернативный вариант предложить через слайс:>>> s = "234!111^283">>> s[s.find("!")+1:s.find("^")]'111'
>>1532637404 означает что адрес не найден, поэтому проверь свой urls.py или что там у тебя. У тебя тупо до этой функции дело не доходит.Также для 200 кода достаточно просто пустую строку передать, необязательно явно писать статус. Для 405 есть ещё метод HttpResponseNotAllowed если ты в джангу играешь.
>>1534927Проблема в том, что я теперь вижу ооп везде и всюду и страшно горю от него. Зачем его юзают даже в мелочах каких-то?
>>1532668Мы вас - дотнетовских пидорах, обоссываем с причмокивание, не сией тащить виндоблядские либы в пистон, сука. Интересно при каких обстоятельствах тебе вообще понадобилось подключать платформозависимые либы.
>>1534315Ты уже читаешь каждую строку циклом for lines in text, следовательно, каждая строка у тебя содержится в lines. Но потом ты вместо ее использования еще вызываешь text.readLine(), это передвигает указатель еще на одну строку вперед. Замени text.readLine() на lines и все будет ок
>>1532134 (OP)Вот ответьте по чесноку и максимально непредвзято.Есть ли смысл пытаться вебмакаки на питоне?Мне все-таки джс более специализирован для этого.Не надо споров и срача, просто ответьте те, кому есть с чем сравнить и кто имеет опыт.Спасибо.
Делаю свой небольшой проект, подскажите, что использовать для того, что бы сделать скриншот экрана, только я бы хотел реализовать это следующим образом:1. Запускается скрипт2. По нажатии горячих клавиш можно было выделить какое-то пространство на экране и делается скрин этого пространства.3. Скрин улетает в скрипт на дальнейшую обработку.Знает что можно из готового заюзать для этого?
>>1535942Скорее всего в твоём городе нет ни одной вакансии с питоном, даже если есть, то для пхп вакансий в десятки раз больше.
Как в pytest юзать __debug__ константу? Если запускать python -O -m pytest, то он отключает ассерты.Мне надо быстро включать-выключать заглушки типа. if __debug__: print(f'val = ')Какие ещё варианты есть?
Там джанга джунга новая вышла, а вы тут сидите, коровам хвосты крутите.https://docs.djangoproject.com/en/3.0/releases/3.0/
Посоны, читаю Лутца(4е изд), там такой листинг(пик1). Пытаюсь повторить тоже самое у себя, ловлю ошибку(пик2). Где я проебался?
>>1536099Всо, я нагуглил, там по другому видимо в новой версии сделали:>>> import struct>>> data =struct.pack(b'>i4sh', 7, b'spam', 8)>>> dataНо разъяснения мне все равно не помешают
>>1534907Какого еще ООП, сынуля?.. Ты ООПа даже не нюхал ещебля, когда ж всякий скам уже поймет что ООП это только Java блять, никакой не Пистон
>>1536131В какой новой? Эта походу ебала для питона 2, ты ошибся книжкой лет на n-цать. Во втором питоне строки были в аски, в третьем они в юникоде. Это функция уже вообще не акутальна, как и книжка, которую тв читаешь, никто уже давно не юзает 2.х пистон, все ждут, когда он уже наконец сдохнут.
>>1536142так книга вроде на 3.0 рассчитана (так в гайде по изучению сказано, да и в самой книге до этого писали тип в устаревшей 2.х так, а в 3.0 так)
>>1536131Ёпт, ты в байтовый объект (struct работает именно с байтами) пытаешься ссанину в кодировке utf-8 записать. Чего ты ожидаешь?
>>1536145Я не смог осилить этого душного мудака - Лутца, но это нисколько не помешало мне в изучении пистона, даже тот пример, скрин которого ты кинул не актуален, ибо все используют with с файлом. Этот мудак просто кучу времени проманал на второй пистон, а потом решил, что редакция на скорую руку принесёт ему ещё шейкелей, впрочем судя по всему он и не ошибся. Посмотри на официальном сайте нововведени (хоть краткие) по версиям с 3.0, а потом посмотри на эту морально устаревшую книженку.
>>1536153Я уже не помню, что давно читал, когда вкатывался. Недавно вот прочёл - “Python Tricks: The BookDan Bader”Вроде как ничего, зашло.
>>1536153>>1536172>>1536201Зачем вообще читать книги, когда есть такие прекрасные курсы:https://youtu.be/wLT-oGoWMBYскинул рандомную лекцию, там есть плейлист с курсом
>>1536153Поваренная книга питона охуенная, а хуйню про то как с файлами работать и прочее введение ты и курсами можешь пройти
>>1536223Ну насчёт скорости я бы поспорил, на мой взгляд смотреть видосы на 2-2.5x куда продуктивнее, чем читать книжки, да и запоминается лучше, хотя это всё субъективно, конечно
>>1536253Ну это зависит от лектора, зачастую туда берут каких-то слоупоков с 1 словом в 2 секунды, видимо из культурной столицы, вот таких действительно тяжко смотреть на х1 скорости.
Пилю прохладную. Решил изучать 2-й 3-й или 4-й язык. У меня был опыт работы с крестами, скажу больше это был даже продакшн опыт, но меня кресты сильно покоробили, осознание этого пришло после выпездывания с работы, я их возненавидел и через все это вкатился в питон, как самою популярную альтернативу крестам, тогда ещё пистон был без типов и корутин вменяемых, а возможно их даже не было и с генераторами, в целом я считаю, что мне повезло и вырвался из ублюдский оков, уверен, что те, кто вкатился в пистон после сей будут целиком и полностью со мной солидарны. Хочу начать изучать второй язык, не беру в расчёт плюсы и шар, которые закопаны где-то в чертогах разума, и надеюсь никогда не настанет тот момент, когда придётся их раскапывать, самые очевидные претенденты голанг и раст, альтернатив тут практически и нет, с учетом того, что раст - плюсы не максималках, начал смотреть в сторону го, но сука, как же там плохо с документацией, посмотрел примеры кода тут - https://gobyexample.com/ и что-то совсем уныло стало, это прям какая-то угрюмую гремучая смесь типизированных языков со сборщиком мусора и скриптовой анархии, кстати да, видно откуда пиздят щепотки сахара в пистоне. Есть ли тут такие же аноны, как и я, которым язык в основном нужен не для бэкенда, а го в целом больше на него заточен, которые также всеми фибрами хейтят си и плюсы, давайте будем честны, шарп - вообще не язык, а подзалупный творожок мелкомягких и в целом очень нелепая подделка явы, которые хотят или хотели бы узичать и практиковать альтернативу пистону, и которые выбирают или выбирали другой язык, не могли бы вы посоветовать что-то? Лично я все на текущий момент все же склоняюсь у расту, хотя с учетом всего описанного выше, возможно это плохой вариант лично для меня.
>>1536253Что ты несёшь? На одной странице средней книги информации больше, чем в нескольких минутах "видосиков", и читаешь ты быстрее, если не дефектный.Или это знаменитая зумерская нелюбовь к книгам?
>>1536399лол. шарп хороший язык, гораздо лучше жабы, говорю это как разраб на шарпе пересевший с жабы. И если раньше шарп и был слизан, то сейчас уже жава слизывает с шарпа. Нельзя ли хотя как-то аргументировать свое мнение по поводу шарпа, а то от вашего коммента гавной воняет
>>1536453еще один безаргументный высер. Ясно, на конструктив похоже только прогрессивные раст кодеры способны, досвиданья
Анончики, как вкатиться в написание бота для ммошки ? играю в игрушку, есть нужда, выполнять простые действия, типа бить нужных мобов, бегать туда сюда например.Не знаю с чего начать в принципе, опыта программирования особо нет.
>>1536478Если элементарный фарм в клетке - можешь время от времени программно нажимать ТАБ для переключения на другого моба, соответственно скиллы и анализировать отдельные фрагменты экрана, если в этом есть нужда.
Ребятки, объясните в общих чертах, как так получается. Вот есть один сайт, и для работы с его API можно регать ключи (бесплатные). Которые разумеется имеют ограничения на число использований.Окей, но на github лежит Питоний скрипт, который дает работать с этим сайтом без ограничений, и без использования API ключа вовсе!!! Скриптик реализован на многопоточности, но я пока мало знаю об этом.Объясните в общих чертах, как многопоточность может обойти защиту сайта?! Ведь насколько я понимаю, к примеру, IP у каждого потока будет одинаковый? Типа сайт изи должен спалить что это один и тот же Васян его бомбардирует, и заблочить.Че то вообще не догоняю.
Посоветуйте что почитать серьезное по ООП, паттернам, что допустим вас как то импрувнуло, офк желательно в скопе питонано не обязательно.
>>15365031. Ты уверен что там в либе не забит дефолтный ключ како-нибудь?2. Каждому потоку по своему прокси и вс] заебись.3. Ссылочку на либу.
>>1536478Есть программы-кликеры с возможностью анализа, по цвету, определенного пикселя, я бы для начала в их сторону глянул.Пилил на таком авторыбалку для АА
Марк Лутц. Программирование на Python (4-е издание) хорошо подойдет для изучения с абсолютного нуля, или что нибудь другое посоветуете?
>>1536849имею ввиду с нуля в программировании вообще. пока 120 страниц осилил, но особо ничего не понятно
>>1536849Именно программирование на Пайтон точно не пойдет, это как бы продолжение изучаем Пайтон, вообще советую пройти курс cs50(лютая годнота для 0, там и сайтики научат делать) или 6.0001 тут как-бы введение в программирование через Пайтон дефолтный первый семестр в вузе (но от мит)
>>1536399>шарп - вообще не язык, а подзалупный творожок мелкомягких и в целом очень нелепая подделка явынихуя ты шизик>после выпездывания с работыа, ну понятно
>>1536413Не исключаю, что моя информация уже устарела, сужу по состоянию на 5+ лет, к тому же я ненавижу дот нет и все, что с ним связано, я сейчас работаю с пистоном, но хотелось бы разнообразить немного жизнь и начать изучать новый язык, ибо мы вряд ли в ближайшее время слезем со стабильной 3.6 версии, новые фичи не хочу даже смотреть, чтобы не горевать о гипотетической утрате. В бытовухе использую 3.7. И вообще все что я сейчас высрал особо не относится к вопросу заданному. Скорее всего честный ответ - у меня предвзятое отношение ко всем продуктам и детищам мелкомягких, хотя использую винду чаще лини дома.
>>1536503Все просто, они не используют апи сайта, который накладывает ограничения, я посылают реквесты голые парсят ответы, тут модно словить баг по айпи, впрочем если сайт не предусмотрел возможность абуза путём встраивания 100500 связанных яваскриптов и аякса, то скорое всего им плевать.
>>1536921Если бы это была просто библиотека, не нужно было бы обмазываться бабелем, jsx'ом и прочей хуйнёй.
>>1536905Да нет вроде, 14 версия на носу. Не может же оракл взять и перелопатить свой язык и сделать из него конфетину типа шарпа и котлина, они ведь обратную совместимость опломают к хуям>>1537206Ну фреймворком это точно не назовешь, в отличие от ангуляра. А по поводу JSX, то это ведь часть реакта, можно сказать его фича.
>>1537304> Не может же оракл взять и перелопатить свой язык и сделать из него конфетину типа шарпа и котлинаНе может
>>1535647о, я внезапно увидел. А в чём проблема? Под дотнет есть готовая либа для подключения к MSI Afterburner, а без неё я хуй знает как это сделать, только через костыль в лице Remote Server. Хуль ты выёбываешься?
>>1536413Чувак шарп изначально разрабатывался с целью сделать язык как джава только лучше. С таким подходом и финансированием сложно было не достичь этой цели. Но даже тут они объебались: закрытый исходный код, отсутствие кроссплатформенности, заточеность под винду - все эти факторы довольно сильно отталкивают от языка. Вдобавок сам язык охуеть как перегружен, сколько там способов запустить задачу асинхронно, сколько вариаций анонимных функций, сколько вариаций LINQ (2), такое ощущение что у авторов не было четкого плана и они тащили в язык всё что вздумается.Но все эти недостатки меркнут в сравнении с главным - у шарпа мертвое коммьюнити, в язык контрибьютит только майкрософт, у языка до сих пор нет ни одного масштабного фреймворка (типа джанги), который был бы разработан коммьюнити, 90% библиотек написаны майкрософтом. Надеюсь тебе не нужно объяснять почему это хуево. Также можно даже посмотреть количество репозиториев на гитхабе с количеством звезд больше 5к (спойлер: C# там на дне, даже после всяких Golang'ов и Rust'ов).Как итог, мы можем видеть, что C# всё-таки нашёл свою нишу: разработка desktop-приложений под винду и тырпрайз разработка, но в хайлод его уже не пустили. Конечно, некоторые недостатки сейчас активно исправляются (.NET Core + открытие исходников), но вряд ли это уже поможет, C# слишком verbose для 2019, хайп ООП уже давно прошёл и сейчас снова в моде хороший структурированный код без абстрактных фабрик абстрактных фабрик.
Помогите справиться с форматированием. Есть код https://pastebin.com/frv37hXrнужно в финале получить [[ nan nan nan nan nan 50.00 nan nan nan nan nan] [ nan nan nan 44.55 nan 50.00 nan 56.12 nan nan nan] [ nan 39.69 nan 44.55 nan 50.00 nan 56.12 nan 62.99 nan] [ nan 39.69 nan 44.55 nan 50.00 nan 56.12 nan 62.99 nan] [ nan 39.69 nan 44.55 nan 50.00 nan 56.12 nan 62.99 nan] [ nan 39.69 nan 44.55 nan 50.00 nan 56.12 nan 62.99 nan]](это триномиальное дерево по-идее)Не пойму как эту формулу поменять newtree[i,N+(2*j-i)-i] = tree[i,j]Или там в другом месте ошибка?Причем я сам считаю например при i=0, j=1 получится newtree[0,7] = tree[0,1] где tree[0,1] =56.12 а мне nan выдает.
>>1537893Фикс последней строчкиПричем я сам считаю например при i=1, j=2 получится newtree[1,7] = tree[1,2] где tree[1,2] =56.12 а мне nan выдает.
>>1532231Уточню: нужно чтобы в поле manytomany по умолчанию были все объекты типа, на который оно ссылается. Если в default поставить Model.objects.all(), то makemigrations крашится
>что бы удалить дубли из списка словарей с вложенностями нужно перегонять данные в json и только потом использовать list(set())
Здарова, программаны. Есть такой кусок программы: last_id = int(data['last_id']) chat = chats.find_one({'id': chat_id}, {'_id': 0, 'id': 1, 'messages': 1}) new_messages = [] for mesg in chat['messages']: if (int(mesg['id']) > last_id): new_messages.append(mesg) chat['messages'] = new_messages return json_util.dumps(chat)Есть один объект mesg, он выглядит вот так:{"id": "1575546898", "author": "1", "time": "2019-12-05 14:54:58", "content": "asdf"}И на нем выдется ошибка if (int(mesg['id']) > last_id):TypeError: string indices must be integersПоле "id" получено следующим образом: timestamp = int(time.time())# ... message = json_util.dumps({'id': str(timestamp), 'author': user['id'], 'time': str(datetime.fromtimestamp(timestamp)), 'content': content})Потом это запушено в БД. При этом на объекте типа {'id': '7', 'author': '1', 'time': '2019-10-10 8:03:20.162908', 'content': 'My English is very well'}Всё работает.Пробовал int(float()) делать, ничего не изменилось. Даже просто распечатать через print(mesg['id']) или print(str(mesg['id'])) не получается. ЧЯДНТ?
Сап. Начал учить джангу по Mozilla dev. В их гайде версия - 1.10.10. Я же установил 3-ю. Будут ли какие-то проблемы при изучении?
вот в ООП на питоне там + это __add__ * это __mul__ а можно ли знаки < >(сравнения) задароть для класса чтобы они научились сравнивать его? как оно будт называться?
Кто-нибудь увлекается код гольфом?Решил эту https://code-golf.io/divisors#python за 57 символов, как сократить ещё на 3 не представляю.
>>1537754Ты реально веришь что дот нет запускают где-то кроме видны? Советую не тешь себя пустыми надеждами, я жду того момента, когда адекватные разрабы и на шинде откажутся от этой хуйни, впрочем их адекватность и так под вопросом, если они его юзают.
>>1537758Надеюсь это сарказм. И вообще чо в треде по пистону, свободному от вони мелкомягких столько защитников их дерьма, вам что своих тредов мало, начинаете своей залупой везде и всюду оффтопить?
>>1538596Я мало что понял из поста, но попробуй принтить не mesg['id'], а просто mesg. Вдруг выяснится, что в месге вовсе не то, что ты думаешь.
>>1538588Ну ты озвуч для начала свои критерии безопасности. Никто не пишит на шарпе и дот нетом под платформы отличные от винды. У мак оси свои языки и апи. У линухи из коробки удёт питон с сишным компилятором, да и те кто уже давно слезли с иглы мелко мягких посмеются только тебе в лицо, когда ты им предложишь писать на говне с закрытыми исходниками.
>>1538605Тут можно провести аналогию с деревенщиной, который может и уехал из деревни, но деревня уже него не уедет никогда. Земля пухом всем тем, кто юзает дот нет залупку не на винде. Я, когда впервые услышал, что мелко мягкие портируют свою хуергу на линь, посмеялся, но оказывается нашлись жизики, которые готовы абсолютно повсюду искать говно и жрать его взахлеб.
>>1538605Не сегфолтящееся и, желательно, со сборкой мусора.Десктоп на питоне не пишут, он слишком медленный для этого. Гуй в линуксе как писали на сях и плюсах, так и будут. И так и будут существовать программы, которые внезапно прерываются из-за переполнения буфера. Зато кроссплатформа, да. Которая никому не нужна, гнушные программы за пределами линукса используют редко.Что ещё остаётся? Нода тормозит, джава не прижилась, делфи мерты.
>>1538612Каким вообще боком у тебя праймари ки, который обычно инкриментирцется автоматически, мог оказаться строкой?
>>1538619Да не знаю, привык что ид может быть и не числом, так и сделал. Тут он задается таймстемпом, так что какая разница, к инту его преобразовывать или к строке. Место, где надо сравнивать идшники по номеру всего одно.
Ну и если вдруг захочешь написать про сортировку таблицы с миллионом строк, то сразу - сишные pandas/numpy спасают.
>>1538635Что угодно более-менее сложное. Браузер, IDE, офисные пакеты. Отдельные элементы можно написать на питоне, но гуй - достаточно требовательная вещь, там и плюсы не всегда справляются.Если знаешь подобные проги, где интерфейс и основная логика на питоне, приведи пример, плез
>>1538647Ну это нужно подумать, но стало быть ты можешь привести примеры шарповских программ не под винду?
>>1538639Не делай через timestamp. Очень маловероятно, но возможно, что два вызова для генерация ID попадут на этот короткий участок времени. Можно сделать проверку перед вставкой. Чтобы ускорить поиск, можно организовать хеш-таблицу или вообще b-tree... Вжух, и получилась СУБД.
>>1538675Не могу, шарп нигде, кроме винды, не нужен. Да и на винде его нужность под сомнением, просто другого, можно сказать, нет. А может, и есть, просто я не туда смотрю. В общем, хочется увидеть кроссплатформенную и конкурентоспособную (безопасную и достаточно быструю) замену шарпу.
>>1538684Но тогда ещё больше вопросов возникает, а причём тут GIL, когда сейчас все используют корутины, где можно, а где нельзя - процессы.
>>1538684Интересно, а что, если писать крупные программы с гуем не на CPython, а на чём-нибудь без GIL и по бенчам более быстром?
>>1538684Я понимаю, что это модно ссылаться на убогие потоки в питоне, но ещё бы это было к месту, речь вроде не про числодроьилки, а про гуй, в котором люди нажимают мышкой по кнопочкам.
>>1538683Это имеет смысл. Лучше, просто какую-то рандомную строку использовать, а для сортировки использовать время всё же. Правда, это в два раза увеличит количество обращений к БД.
Алсо, я думал, что я понял в чём проблема, но на самом деле нет. В монго объекты выгладят следующим образом.> db.chats.find({}){ "_id" : ObjectId("5de95a0452676b2e5d7664b9"), "id" : "1", "users" : [ "1", "2", "3" ], "messages" : [ { "id" : "1", "author" : "1", "time" : "2019-11-10 18:42:15.867907", "content" : "what's up gamers" }, { "id" : "2", "author" : "2", "time" : "2019-11-10 18:52:15.867907", "content" : "hello there" }, { "id" : "3", "author" : "3", "time" : "2019-11-10 19:02:05.867907", "content" : "sup guys" } ] }{ "_id" : ObjectId("5de95a0452676b2e5d7664ba"), "id" : "2", "users" : [ "1", "3" ], "messages" : [ { "id" : "4", "author" : "1", "time" : "2019-10-10 8:01:13.162907", "content" : "How do you do?" }, { "id" : "5", "author" : "3", "time" : "2019-10-10 8:02:13.162907", "content" : "Thank you, i'm fine" }, { "id" : "6", "author" : "3", "time" : "2019-10-10 8:02:22.162907", "content" : "Also, London is a capital of great Britan" }, { "id" : "7", "author" : "1", "time" : "2019-10-10 8:03:20.162908", "content" : "My English is very well" }, { "id" : "1575574076", "author" : "1", "time" : "2019-12-05 22:27:56", "content" : "asdf" } ] }При этом, один и тот же код для первых объектов (добавленных руками) возвращает dict, а для последнего, str. ЧЗХ?
>>1538704На плюсах можно проебаться и не заметить проблему. Да, можно быть действительно хорошим кодером, но всё равно иногда допускать трудноуловимые и неявные ошибки там, где джава, питон и шарп просто кинули бы исключение, которое всегда можно поймать и показать ошибку пользователю.
>>1531961def 123():--flag = requests.post("http://http://127.0.0.1:5000/123", json = "C://file.txt")--for x in open("C://data.csv"):----requests.post("http://http://127.0.0.1:5000/123", json = x)if __name__ == '__main__':--P1 = Process(target=start_server)--P1.start()--P2 = Process(target=123)--time.sleep(2)--P2.start()Как-то так?
>>1538714123 - некорректные идентификатор, вначале нужна буква или _.Параметр "json" принимает объект с данными, а не название файла. Но если хочешь отправить именно строку с названием, всё ок.open() используется неправильно, эта функция возвращает объект с указателем на файл, а не содержимое файла.
>>1538721>123 - некорректные идентификатор, вначале нужна буква или _.Ну пусть будет def huita(): Не суть.>open() используется неправильно, эта функция возвращает объект с указателем на файл, а не содержимое файла.За точность не скажу, у меня сейчас нет рабочего файла под рукой, но оно работает. В качестве имитации потока json'ов - цикл, построчно извлекающий данные из файла и отсылающий их как json'ы.Так вот, когда я флаг ручками прописываю в другом месте - всё нормально, а когда пытаюсь отослать json 'ом, поставив перед циклом, выдаёт сраную ошибку с http (да, в примере выше http должен быть 1 раз, опечатка).Флаг - именно строка. Подозреваю, что либо я неправильно его отсылаю, либо на стороне сервера этот флаг надо "распаковывать" через json.dumps/json.load
>>1538061Посмотри документацию по свойству default. Там явно написано что тебе надо "wrap the desired default in a callable".
>>1538635Не слушай дивана, нормально пишутся гуи на питоне. Все тяжёлые операции всё равно выполнит сишный код в гуи тулките.
<script src="https://ideone.com/e.js/E9Tbg3" type="text/javascript" ></script>Ребят помогите, решаю задачу на кодирование количества букв в формат буква и число.Типа "aaa" в 3аНепонимаю почему а цикле for буквы некоторые не записываются. Даю кусочек кода как пример
>>1538849В моем коде смысл в том что строка преобразовывается в список, потом идет проверка по наличию буквы, например "а", потом счетчик добавляет +1 на каждом итерации, если находит " а". Далее идет удаление из массива первой буквы. Непонимаю почему последние буквы "а" не работают, не удаляются и не засчитываются в счетчик.
Антон, Зачем ты учишь питон?Я перешол на питон после того как GregTechмод на майнкрафт надоел, изучаю чтоб запонить свободное время, которого 24/7 365дней в году. Не чувствую что проебываю время, когда учу. Якобы чем-то полезным занимаюсь.
>>1538994Для скриптов, скрапинга, для понимания основ программирования после баловства с однострочниками и шелом, статистики, визуализации, в перспективе мостик перехода на кресты.
>>1538849Эту именно, сука, эту задачу в тредах обсасывали 1000 раз. Посмотри в предыдущем или на 1-2 треда назад. Там готовый код в нескольких вариациях со всеми пояснениями.
>>1539512Да блять, мне решение не нужно. Я непонимаю хуле цикл for после нескольких итераций забивает хуй и не считывает букву "а" как я ожидаю.
1.Как можно сделать копию установленного на машине питона со всеми пакетами, если на целевой машине нет интернета, т.е. через пип нельзя?2. Подскажите либу для создания простых анимаций (уровня змейки со старых мобилок)
>>1539688> 1.Как можно сделать копию установленного на машине питона со всеми пакетами, если на целевой машине нет интернета, т.е. через пип нельзя?Папка lib вроде, в корне питона.
Сап, /pr/, начал вкатываться в программирование и сам python, решаю всякие задачки и сейчас столкнулся с вопросом. Не понимаю почему в данном участке кода элемент с индексом 0 принимает значение 0 после цикла?https://pastebin.com/6Mt1TVNC
Вопрос по Джанго.Есть следующая модель.При вызове проперти "get_airport" либо "airport_name" с инстанса Flight выпадает ошибка.ЧЯДНТ ?
>>1539720Проблема в 4ой строке.А вообще, что это блять за код? Что за циклы с одной итерацией? В чем ёбаный смысл этой программы? Если ты учишься программировать, учись, пожалуйста, нормально, а не хуйню вот такую вытворяй. Это же блять даже на анонимной борде стыдно показывать.
Укус питона или Лерн зе хард вей? И стоит ли проходить онлайн курсы с проверкой решений или учиться по книжкам и не выебываться?Начал практикум яндекса, вроде много контента в курсе, но 85к я уж точно не буду платить.
>>1539724Я может туплю, но у тебя в классе же нет переменной end_airport. Соответственно он никогда не будет найден.По идее у тебя должно быть поле foreignkey для связи с моделью аэропортов. И из этой связи уже можно вытаскивать все нужные данные. То есть метод get_airport будет не нужен.
>>1539962Укус питона — скучная хуита, её имеет смысл читать только если ты в жизни никогда не программировал
>>1540069Я все-таки учил год плюсы в универе, надеюсь не совсем дебил для сложного пути.Тогда вопрос такой: стоит ли потратить 30 ойро на полный курс? https://learncodethehardway.org/python/
Объясните дураку как пик1 трансформировался в пик2 ?Это вроде бы правильно работает, но сама формула ставит в тупик
>>1540285Ты каждый раз сохраняешь в a значение текущего члена ряда, а в следующий раз не вычисляешь его с нуля, а домножаешь на нужные значения, чтобы получить его. К примеру, зачем вычислять с нуля факториал 5, если уже есть результат вычисления факториала 3, который можно просто домножить на 4 и 5, чтобы получить нужное значение. Со степенями аналогично.
Как сделать так?d = {a:b}k = int(input())v = str(input())if d[k] is None: d[k] = velse: ''' преобразуем текущее b в список и добавляем к нему v '''Т.е. после else мы должны получить d = {a:[b, v]}
>>1540424a=1b='b'c=2d='d'dictionary = {a:b, c:d}k = int(input('Введите k '))v = str(input('Введите v '))print('Словарь в начале программы: ',dictionary)if 4==5: print('ты в адеквате?')else: newlist=list(dictionary[a]) newlist.append(v) dictionary[a]=newlistprint('Словарь в конце программы: ',dictionary)Вывод: Введите k 3Введите v vСловарь в начале программы: {1: 'b', 2: 'd'}Словарь в конце программы: {1: ['b', 'v'], 2: 'd'}Остальное допишешь сам как тебе надо
А как в pycharm изменить размер шрифта? Те настройки, что я нашел, меняют только шрифты надписей на кнопках и т.д., но не сам размер кода.
Нужна приложуха для мобилы, поставил и потыкал палкой, есть для него visual editor? Жаву не люблю и андроид студио? Или все таки альтернатив нет? Есть кто был перед таким выбором?
>>1540653Попробовал CreatorKivyProject, допиливать канеш много там ещеВ NDK я смогу через андроид студию пилить на c/с++ вместо жавы?
>>1540669Те, кто этим занимался, пишут, что что-то сделать можно, но шаг влево шаг вправо - и приходится возвращаться к джаве.
>>1540672Но так но хочецца к этой жаве лезть. Реакт - nodejs, flutter - дарт ваще.kivyMD вон, material design добавляетйобаный андроид линукс, ууу сука
>>1539962попробуй сначала базовый питон курс на codebasic затем углубленный на hexlet еще есть https://pythontutor.ru/
Анон, где можно посмотреть какое направление сейчас больше ценится? Хочу вкатиться на минимум чтобы просто на еду зарабтать, ситуация в жизни сейчас сложная. На реальную работу идти не могу
>>1540809Какими вводными? Я хочу посмотреть что сейчас больше всего заказывают, и в эту сторону учить
>>1540810>Какими вводнымиТвоими.> Хочу вкатиться на минимум чтобы просто на еду зарабтатьСейчас какой-нибудь сцаный тестировщик может получать 20-25k с дохуя требований и сменной работой в том числе в ночь. В погромировании требования стали гораздо выше, я, например, уже не надеюсь вкотиться учу для себя.>На реальную работу идти не могу Это и есть реальная работа. Забудь о маняфантазиях мамкиных фрилансеров с 300kk/s в /b/.
>>1540815> На реальную работу идти не могу> Это и есть реальная работа. Забудь о маняфантазиях мамкиных фрилансеров с 300kk/s в /b/.Имел ввиду что не могу надолго выходить из дома. Фантазий о 300к/с у меня не имею, просто не знаю что сейчас востребованно.
>>1540953Рынок фриланса сильно отличается от обычного. Здесь преобладают не долгосрочные проекты, а задачи вида "сделал и забыл". Распарсить сайт, прогуглить по списку пару тысяч запросов, сделать кому-то лабу или курсач, сделать сайт-визитку "под ключ". Если в области IT, проще всего учить пхп и вордпресс. На питоне обычно бывает парсинг сайтов и лабы.
>>1538733Мудила выходит на связь последний раз.Сервер в потоке принимает json'ы.Надо сделать проверку на первый json. Можно ли счётчик вынести за эту функцию? А то она каждый раз дёргается, судя по всему, и внутренний счётчик обнуляется.
>>1541006> Сервер в потоке принимает json'ы.> Надо сделать проверку на первый json. Чего первый? Когда первый? Какую проверку?тред не читал
>>1541006Да, нужно вынести. В теле функции объявить эту переменную как global, чтобы питон не создал локальную переменную с таким же названием. Этот будет глобальная переменная, что есть плохо, и в реальном сервере лучше хранить счётчик в базе данных.Как вариант, можно вместо счётчика сделать другой флаг (не тот, который передаёшь, а тот, который будет на сервере), и этот флаг будет признаком, был уже первый json, или нет. Изначально этот флаг будет False, а при получении json сравнивать этот флаг с False, и если равен, устанавливать в True. Этот json будет первым. Для дальнейших json сравнение не выполнится, и их можно обрабатывать по-другому. Как-то так:was_first = False # глобальная переменнаяdef func():..global was_first..if not was_first:....was_first = True....# здесь действия с первым json..else:....# здесь действия с остальными json
>>1541025Если функция y(x) не задана, то условие не полное. Возможно, имеется в виду любая функция, которую задаёшь сам.
>>1541032Возможно. Но не исключён и такой вариант, что для этой функции нужно вычислять значения по таблице.
>>1532134 (OP)Двач, я сейчас открыл для себя ТАКОЕ! ШОК!Оказывается, в генераторах нельзя просто так использовать рекурсию! Нужно использовать синтаксис "yield from":https://stackoverflow.com/questions/38254304/can-generators-be-recursiveОфигеть, мой мир перевернулся! Будто само бытие разделилось на "до" и "после"!
>>1532134 (OP)Как то в треде мне советовали вкатиться в тестировку, и параллельно с этим учить пайтон, что бы потом стать Python junior.Как я понимаю это QA, сейчас я знаю сам python, основы select'a в sql, немного джанги и так по мелочиНа hh вбил QA PYTHON и всего 1 вакансия без опыта лол, хотя я живу в Новосибирске (1.5кк) и всего 1 вакансия? Что я делаю не так? И подскажите как вкатиться в QA можно сейчас
>>15413971, Ты тян/трап?2, Без опыта в основном нужны ручные тестировщики, а не дикие.3, Ты либо тестироващик со знанием питона, либо питонист.4, Для не ручного тестирования еще изучи Селениум.
>>1541397Вкатился без знаний. Просто перед собеседованием пару часов почитал про баги, их классификацию и жизненный цикл приложения. Этого хватило.
Не знаю никаких языков программирования, решил вкатиться в питон (неделю назад). Начал читать учебник на вики, параллельно проходя какой-то курс (хекслет вроде). Почему так сложно нахуй, как вы это так просто понимаете? Я просто прошёл половину курса 'для новичков' и прочёл где-то половину учебника (дошёл до функций), и пока кроме охуевания ничего не получил, пиздец, да мне кажется, что я уже половину всего забыл к хуям . Почему так нахуй, почему так сложно? В интернете куча макакичей, которые 'фуллстак шеб-разработчик, питон, фласк, хуяск, Аллах' в 20 лет. Я же натурально срусь, что нихуя кроме примеров из условного курса для даунов не смогу написать. Как мне стать таким же умным, как вы блеат?
Где можно посмотреть хорошие примеры паттернов проектирования с привязкой к питону?https://python-patterns.guide/ заслуживает доверия?
Сап, двачик. Начал тут читать Neural Networking Project’s with Python - James Loy, и понял, что вообщ нихуя не понимаю что происходит и о чем речь, в начале говорилось, что у читателя должно уже быть представление о машинном обучении, чтобы изучат пособие, но я как обычно проигнорировал этот момент, но что-то сейчас не прокнуло и реально без подготовки низкая не понятно. И собственно пишу это все с одной простой целью - задать вопрос: что можно почитать по теме, чтобы было хоть какое-то понимание базиса или проблема именно в той книжке, которую я взял?
>>1540323Это нихуя не простая задачка. Когда писал свой рогалик, потратил очень много времени на углубление в генерацию данжей
Поясните по хардкору. Всех тут наверное уже заебал, но всё-же. Потребовалось значит мне откуда то выуживать температуры ЦПУ и ГПУ, и подвернулась мне дотнет библиотека, которая подцепляется к MSI Afterburner который у меня всегда запущен. В общем я тут спрашивал уже, как её использовать можно, и в общем вчера вроде немного подразобрался с модулем Python net, накатал код пикрелейтед, который выдаёт нужные температуры hwm_entries - кортеж.Вопрос - тут всё нормально? Можно ли как то это сделать лучше? Например, нужные строки с температурой я ищу строковыми методами find, и if X in Y. Это норм, или лучше перелать под поиск регулярных выражений с RE? Что из этого будет работать быстрее?
>>1541952но нужно ли мне это? Выражения не меняются. Вопрос в скорости обработки. Там вот такой кортеж в хвм_энтриес, из которого нужно раз в три секунды выудить нужные температуры. Вот как будет быстрее - с РЕ, или просто с поиском нужных строк по вхождению определенной части строки>>1541958>У тебя не те задачи, что б думать о скоростиДа бля как не те, это софтина для игрового ПК, и она должна оказывать минимум влияния на игровую производительность
>>1541945Температура процессора есть в WMI: https://stackoverflow.com/questions/45736193/how-can-we-get-a-cpu-temperature-through-wmiWMI шатается при помощи либы: http://timgolden.me.uk/python/wmi/index.htmlВообще, всё что касается винды лучше делать через WMI.
>>1541962Я уже смотрел по совету в сторону wmi, и... Ну это какая-то хуита. Вот по твоей ссылке он предлагает:wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CriticalTripPoint, CurrentTemperatureЭто какая-то хуита, а не температура процессора. Это раз. Два - я хуй пойму как искать в этом WMI нужные мне данные, где там найти температуру по ядрам, где найти температуру ГПУ, если она вабще там есть. Вот там по ссылке команда: MSAcpi_ThermalZoneTemperature - откуда он её вабще берёт? В документации такого нет:https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/cimwin32-wmi-providersВ общем я не могу понять как найти что-то полезное в этом WMI
>>1541977> В общем я не могу понять как найти что-то полезное в этом WMIUnfortunately wmic docs not provide valid data in all cases (e.g. most often it is needed to run code as admin)Если эта вся затея только для личного пользования, то тот вариант с AB вполне нормальный.
>>1541977Собссна, главный вопрос.>Потребовалось значит мне откуда то выуживать температуры ЦПУ и ГПУЧто ты там делаешь?
>>1541988>Если эта вся затея только для личного пользования, то тот вариант с AB вполне нормальный.Ну, я выложу всё это для людей на бесплатной основе, думаю финальный результат моей задумки будет полезен очень многим. И, АБ у среднестатистического геймера в фоне висит по дефолту, так что это норм. К WMI я возможно ещё вернусь позже, но пока что он у меня прям отвращение вызывает, как какая-то помойка с неверными и ненужными данными. Как например, если зайти в диспетчер задач - там отображается неверная частота процессора она не учитывает разгон. Зачем и почему? А хуй его знает.>>1541994Софтину для управления корпусными вентиляторами через микроконтроллер.
>>1541945"Все хуево, начинай сначала.жпг"А если серьезно, то:- раздели код на функции: сделай опросы в 2-х функциях опроса CPU/GPU, а управляющий код и вывод - снаружи (там где у тебя while, sleep, print)- узнай зачем нужен yield. Он как раз подходит для твоих функций опроса- забудь о скорости, ты ничем особо тут и не угробишь и не ускоришь
>>1541998>Софтину для управления корпусными вентиляторами через микроконтроллер.Купи реобас и не еби мозга.
>>1541998> И, АБ у среднестатистического геймера в фоне висит по дефолтуНи разу себе на ставил, потому что нахуй не нужен. Температура - спесси, фпс - нвидия экспириенс.Твое поделие использует возможности стороннего софта, что не есть хорошо. Если сможешь в свой установщик вкрутить нужные либы, или с чем там оно ебется - тогда хорошо.
>>1542002>Купи реобас и не еби мозга.Он стоит дорого, не учитывает температур или делает это по медленным термопарам и нахуй не нужен. Да и в современных корпусах под него нет места.>>1542001Спасибо, сейчас осмыслю. Про yield знаю естественно, правда пока что для меня он выглядел как выкрутас ради выкрутаса, сейчас подумаю как можно применить.
>>1542007Ясно. Решил наколхозить хуйню, на хуйне, для хуйни, работающую как хуйня, во время хуйни. Для реализации твоей идеи надо специальное железо и специальные спецификации, в компьютерах и нет. Необходимо каскадное регулирование, ПИД, знание автоматизации на железе которого нет. Ты занимаешься хренью, но дело житейское.Корпуса сейчас более чем нормальные, спроектированные для обдува железа. Реобас с 3 каналами стоит не так уж и дорого, на каждый канал вешаешь по 2 вентиля. Ничего регулировать не нужно при правильно подобранном охлаждении для проца и видюхи.>Да бля как не те, это софтина для игрового ПК, иПроёб с TDP твоими методами не лечится.
>>1542017>Ясно. Решил наколхозить хуйню, на хуйне, для хуйни, работающую как хуйня, во время хуйни. Для реализации твоей идеи надо специальное железо и специальные спецификации, в компьютерах и нет. Необходимо каскадное регулирование, ПИД, знание автоматизации на железе которого нет. Ты занимаешься хренью, но дело житейское.Ты чего взъелся? Для реализации моей идеи нужен микроконтроллер, он у меня есть, стоит от 300 до 400 рублей вместе с доставкой - это все затраты на железо, и реобас ты за эти деньги не возьмёшь. Уже написана часть для контроллера на MicroPython - он без проблем может рулить по PWM как 4-пин так и 3-пин вентиляторами, и вопрос реализации моей идеи со стороны железа - закрыт. Так же уже реализована часть, которая через ком порт передаёт на контроллер команды. Осталось вот только часть для пека дописать - опросник температур и окошки, ну вернее оно всё так же уже написано и функционирует как задуманно - просто оптимизировать, грамотно оформить, добавить всякие настройки и конфиг файлы. >Корпуса сейчас более чем нормальные, спроектированные для обдува железа.Это когда слева стекло, а впереди глухая крышка? Не смеши. Но это офтопик>Реобас с 3 каналами стоит не так уж и дорого, на каждый канал вешаешь по 2 вентиля. Ничего регулировать не нужно при правильно подобранном охлаждении для проца и видюхи.Ты предлагаешь накормить китайца купив говнобас и сидеть с фиксироваными оборотами вентиляторов? Зачем? Я люблю тишину, у меня вентиляторы вне игрового режима крутятся на 200-400 оборотах. В таком режиме они не могут обеспечить необходимого продува. Или ты мне предлагаешь их накрутить, чтобы в простое всё это свистело и пердело? Так почему бы этим всем не управлять в зависимости от температур, потому что ТЫ СКОЗАЛ ЧТО НИНУЖНА?
>>1542023>Ты чего взъелся?Кратко объяснил тебе что за хуйню ты наворотил. Со своей колокольни 20 лет автоматизации вот этого вот всего, сборки компов, пердолинга со всякими fancontrol и прочими делами.>Это когда слева стекло, а впереди глухая крышка? Не смеши. Но это офтопикЭто когда продуваемый корпус без стекла за 5-6k с реобасом и вентиляторами в комплекте. Без претензий на игровой комп, но и для игр более чем.>Ты предлагаешь накормить китайца купив говнобас и сидеть с фиксироваными оборотами вентиляторовНет. Я предлогаю собирать сразу компьютер по уму, а обосравшись не маняврировать.>Так почему бы этим всем не управлять в зависимости от температур, Так бери и управляй специально-предназначенными для этого средствами. Потому что твоя хуйня собрана из говна и палок и не предназначена для регулирования.>потому что ТЫ СКОЗАЛ ЧТО НИНУЖНА?Потому что ты из колхозников любителей срать не снимая свитер, причем упорный и непреклонный в своём желании. Если нравится занимайся хуйнёй, я тебе уже об этом писал выше.
>>1542028>Кратко объяснил тебе что за хуйню ты наворотил. Со своей колокольни 20 лет автоматизации вот этого вот всего, сборки компов, пердолинга со всякими fancontrol и прочими делами.Какую хуйню я на творил? Систему которая за 400 рублей решает все вопросы и работает без проблем? Ты там совсем ту-ту-ру-ру?>Нет. Я предлогаю собирать сразу компьютер по уму, а обосравшись не маняврировать.По уму встроенные системы регулировки оборотов вентиляторов не учитывают нагрев ГПУ, и когда в игре ГПУ загружена на 100%, а ЦПУ не загружен - ГПУ выходит из комфортного диапазона температур, т.к. без нагрузки на ЦПУ корпусные вентиляторы не раскручиваются - так происходит при сборке "по уму". А моя дешманская система решает это недоразумение.>Так бери и управляй специально-предназначенными для этого средствами. Потому что твоя хуйня собрана из говна и палок и не предназначена для регулирования.Это какими средствами? А как управлять корпусными вентиляторами с хуанана, где вабще нету регулируемых разъёмов кроме ЦПУшного? Или ты сейчас снова жиденько пёрднешь про говнобас?Что значит не предназначенными? ESP32 не может генерировать ШИМ сигнал? Не может, потому что ТЫ ЗОПРЕТИЛ? Шим сигнал не предназначен для управления вентиляторами? Не предназнначен, ПОТОМУШО ТЫ ТАК СКОЗАЛ? В чём твоя проблема?>Потому что ты из колхозников любителей срать не снимая свитер, причем упорный и непреклонный в своём желании. Если нравится занимайся хуйнёй, я тебе уже об этом писал выше.Ты какой то кислотный дегенерат пукающий в лужу. >>1542032Признаться, я с этого персонажа в шоке.
>>1542032В эксплуатации его бы отпиздили за попытку нести такой бред. По поводу погромирования у меня никаких претензий нет. Условия задачи исключают чего дельное предложить.
>>1542035>колхозный петеушник даже не понял что ему пишет, что он сам натворил и что просиходитТвой диагноз понятен. Удачи.
>>1542023> Для реализации моей идеи нужен микроконтроллер, он у меня есть, стоит от 300 до 400 рублей вместе с доставкойКому придет в голову брать ещё какую-то железку и вручную накатывать на нее сие скрипт? Как микроконтроллер будет жрать софт AB? Это все уже походит на дипломную работу в шараге.
>>1542046>Кому придет в голову брать ещё какую-то железку и вручную накатывать на нее сие скрипт?Тот, кому нужно управлять вентиляторами, и делать это по-уму, а не реобасом обороты вручную выставлять. Например китайские матплаты не предусматривают управление корпусными вентиляторами, и никакие матплаты не учитывают температуру ГПУ при управлении корпусными вентиляторами.>Как микроконтроллер будет жрать софт AB?Я же уже писал - софт на компе получает инфу о температурах и при необходимости ускорить кейс_фанс отправляет через компорт команду. Микроконтроллер с другой стороны комп порта эту команду ждёт. Это очень просто, и уже сделано>Это все уже походит на дипломную работу в шараге.Я делаю это для себя. В рамках обучения, конечно - но так же такая вещь мне самому нужна.
>>1542052>кому нужно управлять вентиляторами, и делать это по-умуЕбанутый, иди уже купи себе сплитер(разветвитель, хаб) за 180-400 рублей. Заебал уже тут срать.
>>1532134 (OP)Сап, почему pycharm в проекте с джанго не подсвечивает синтаксис html, типо не понимает что такое {% block content %}{% endblock %} и не помогает дописывать? Это только в про версии можно или что?Как это включить, если возможно конечно? В гугле чет ничего особо не понял
>>1542082vscode поставь!Чувак, все нормально с подсветкой html в идее!Потрать пару минут на настройку, вместо двачевания
>>1542106Да не, хтмл и правда норм подсвечивает, я тупанул. А вот css вообще нет, может и его можно как нибудь поднастроить?
веб питонисты, расскажите за бест практис применения celery в ваших проектах, я что то не могу нагуглить ничего типа рассылка имейлов или деактивации триалов, это и так понятно что делается через шедулер от celeryИ дает ли вообще celery полноценный асинк, или это чисто выполнение долгой задачи на бэкэнде по расписанию?
>>1542082Скачай про пайчарм и крякни. На шинду есть с серверами, тупа кладешь сервер себе на хард, дописываешь строчку и оно работает. На мак/линупс могу тоже подсказать где беру ключи, если тебе надо будет.VSCode хуево с джангой работает. Там постоянно начинает ебаться между собой js,html и django template, не советую, короче.
>>1542299> за бест практис применения celeryНе от того танцуешь.Бери свои практические задачи у думой, поможет ли тебе тут Целери или нет.Единственное что анон может рассказать это за свой опыт применения Целери.> дает ли вообще celery полноценный асинкДоки читай.> это чисто выполнение долгой задачи на бэкэнде по расписаниюНе только лишь по расписанию. В основном да, выполнение долгоиграющих задач.
>>1538994Морально устаревшие языки сосут, это я про плюсы, а новые ещё недостаточно востребованы на рынке, это я про раст и голанг.
Нужна библиотека для получения ast по произвольной грамматике в бнф. Рассматривал antlr, но там насколько я понял какое-то шаманство с предварительной трансляцией грамматики в py файлы с помощью сторонней утилиты, хотелось бы иметь библиотеку которая справлялась бы без этого промежуточного шага.
>>1539785Само собой, твоё решение - полная херня. В питоне есть уже готовое решение - Counter, если ты все же хочешь свой костыль делать, то делай это через словари, где ключи - буквы, а значения - количество элементов в строке. В твоя гипертрофированная задача вообще решается в две строчки:a_count = your_string.count(“a”)your_string = your_string.replace(“a”, ””)
>>1539654Список это на самом деле двусвязная fifo очередь, самый эффективный способ удаления из неё, как и для всех очередей - pop(), который удалит последний добавленный элемент. Но если нудно уделить элемент с произвольной позиции, то нужно использовать remove(%a symbol%)
>>1539720Почитай что такое итераторы, которые используются в for loop конструкции, у тебя в пиздец начинается в 4 строчке и продолжается до последней.
аноны, у меня есть список всех файлов в директории, как мне отобрать из него только с нужным расширением? Я написал вот такvolume_files = [fl for fl in list_dir if list.dis.split('.')==2 and list_dir.split('.')[1]=='txt']
>>1540103Я бы сказал, что это только минус, сам из плюсов перекатился, если посмотришь все ошибочные, костыльные и просто убогие решения задач в пистон тредах, то в большинстве случаях они будут от бивавших си кодеров, которые переходят на работе новый язык, но не могут отпустить старые и ублюдские принципы написания кода из сей и крестов.
>>1540982Когда то тоже жил с влажными фантазиями о фрилансе, сейчас есть постоянная работа, пока пайджуна, так вот я мониторил рынок вспрыскивая и предложений, на самом деле довольно мало заказов на пых, а на вордпрессе они малооплачиыакмые были, года 3 назад в требник вообще Джанго был, хз как там сейчас, насколько мне известно туда до сих пор не завезли поддержку корутин, что может оттолкнуть даже заказчика, ибо он знает от кодеров, что асинк - легковесные потоки, которые сейчас в тренде.
>>1542588Словарь в общем случае тоже не упорядочен. Если случайно так совпало из-за деталей реализации, что он упорядочен (https://stackoverflow.com/questions/39980323/are-dictionaries-ordered-in-python-3-6), то на это рассчитывать не стоит, это всегда может измениться.
>>1543123В нем упорядочены ключи, соотвественно при итерации по ним после объявления порядок гарантируется, сейчас активно выпиливают orderdict из collections и заменяют его на обычный.
>>1543123Это уже не изменится, эту фичу активно юзают многие, поскольку это реально удобно, если откатятся до предыдущей реализации (не вижу в этом смысла, они ведь писали, что нововведение дало только прирост к производительности), то это приведёт к появлению серьёзных багов во многих скриптах без убийства совместимости синтаксической. Мне кажется если они вдруг это сделают, то станут последними подонками и букашками в лице комьюнити.
Есть книга с пошаговым написанием проекта? Чтобы не хелловорды ебашить, а понять как написать структуру сложнее однострочника или небольшого скрипта?
Всем привет! Короче начал я читать этого вашего Лутца, и это конечно прикольно, но мне кажется что я забуду как там брать срез строки с конца до середины в обратном порядке шиворот блять навыворот, если не буду заниматься практикой. Что можете посоветовать? С чего начать практиковаться? Мб калькулятор с лексическим анализатором? Или вообще нет разницы, бери да пиши?
>>1543473Напиши калькулятор с лексическим анализатором.>>1543475Напиши калькулятор с лексическим анализатором.
>>1543480опыт программирования есть(в основном спортивных задачек), прогаю на си/си++, еще изучал scheme (ну типа по sicp). Но проектами не занимался
>>1543473>>1543480>>1543494Просто когда я читал "Принципы и практика использования C++" Страуструпа, там в первых же главах уже объясняется как писать калькулятор с лексическим анализатором (бнф все дела). А Лутц это тупо документация (по крайней мере пока). Может сразу начать читать Программирование на Python Лутца? Вроде там практика
>>15434831. Пиздуешь на рутракер, кочаешь там Фёдорова Д.Ю. Его хватит на 1-3 недели для совсем тупых.2. Потом приблизительно тоже самое в A BYTE OF PYTHON. После предыдущей книжульки тоже недолго.3. Чтобы закреплять прочитанное https://euler.jakumo.org/problems.html4. Можно начинать читать книги и доки под специализацию. Dive into python. Попробовать курсы, тот же Stepic.>>1543499Тебе по пунктам выше ознакомиться с синтаксисом и брать книгу под специализацию по питону для проганья. Лутц пишет настолько размыто, что я его сколько ни брался ни разу не осилил. Помоему его книги полная залупа.
>>1543508Для меня это скрапинг, pandas, big data, data science, streamlit... Мне похуй на джанги всякие. Ты должен определиться для чего учишь питон, а потом уже под задачу искать инструменты. Заучить всё сразу не получится.>>1543510У него одна книга с разными названиями. Очень толково азы разжёвывает.>2019 - Федоров Д.Ю. - Программирование на языке высокого уровня Python.Глянь 2016 - Сузи Р.А - Язык программирования Python.Старайся читать разное, все по разному информацию воспринимают, мне некоторые авторы совсем не заходят, весь день проебался в итоге ничего не осилил, удругих вроде инфа таже, а в разы понятнее.
>>1543508А я посоветую пикрил. Тут есть абсолютно про все нужное, про что обычно забивают во всяких байт оф Пайтон и прочих: сетевое программирование, работа с бд, регулярочки и прочее. Конечно, инфа есть немного устаревшая, например когда я пытался по сокетам код скопировать нихуя не заработало, но это только к лучшему - гугля и разбираясь сам, ты растешь как кодер. если надо, скину ссылку на мегу.Ещё есть охуенная репа https://github.com/jackfrued/Python-100-DaysТут буквально все, что надо знать для вката, но она на китайском :(
>>1543529Спасибо, попробую почитать!>но она на китайском ты китайский знаешь? или откуда осведомленность
>>1532134 (OP)Как написать селектор для тэгов с двумя классами one и two?.one, .two {...} ? Не могу нагуглить почему то
>>1543516Начал читать и что по итогу?То, что описывается у Федорова за 30 страниц, у Лутца вышло за 200
Привет, питонисты. В голову пришла идея для небольшого проекта на ~месяц, теперь я ищу человека, который сможет взять на себя серверную часть, регистрацию/логин клиенту, продуктовую админку для работы с клиентами на какой-нибудь джанге. Из меня питонист не очень, но распарсить сайтец смогу, все равно будет здорово если это ты сделаешь.Что вы получите - почот и увожение. Денег у меня нет, поэтому платить нечем, но и от вас не понадобятся - аренда сервера и прочие небольшие расходы на мне. Если проект каким-то образом будет приносить деньги, хотя на первом этапе монетизации не намечается - прибыль делим по-братски.Кто нужен - лучшим выбором будет замотивированный вкатывальщик, который уже получил навыки, но никак не найдет работу. Т.к в таком кейсе к профитам добавится проект в портфолио, некоторое понимание продуктовых процессов (пусть и в микро-тиме) + я могу в меру способностей поревьюить код и пояснить, если где чет хуево. Ну и репозиторий (закрытый) будет лежать на гитхабе, что позволит вам набить свой профиль зелеными кубиками, не коммитя десятую тудушку за месяц. Скучающий мидл тоже будет заебись, но только чтобы не ливнул через 2 дня.Немного про меня - выгорающий фронтендер с несколькими годами прод-опыта, в т.ч в стартапе, частично могу в бэк. Сейчас прокачиваю скиллы продакта, поэтому возьму на себя эту часть.Немного про проект - MVP (1-2 недели) связан с парсингом лендосов конкурентов, и предоставления инфы в удобном виде. ЦА - маркетологи и продакт менеджеры на первом этапе, на втором - смолл бизнес, который конкурирует за лидов через поисковики. Конкуренты - симиларвеб и тому подобные, но у нас другое.Команда планируется из тебя, меня и фронтендера.Заинтересованные - кидайте телегу на фейкомыло и можно пару слов о себе на mamkin.startuper@yandex.ru
Сап двач. Чоому так? Мне нужно округлить y до 3 знаков после запятой, делаю {0:.3f} format'ом, но выходят нули, а если без ,то нужные значения, но не округленные. шо не так?
>>1544327Хуй знает, я вообще C++. Просто от вида поделий этой конторы меня тянет блевать. Это всё равно что пользоваться яндекс браузером.
есть ли какая-нибудь идеологическая разница междуdel arr и arr.pop(i)?кроме того, что 2 функция и возвращает i-тый элементкогда вообще стоит юзать del, я сколько прогал сам никогда ее не использовал, и не встречал ее в чужом коде на том же стековерфлоу или гитхабе, а тут поступил универ, один одногруппник, который никогда раньше не кодил, узнал про него и теперь засовывает везде, где только можно, особенно при работе с массивами.
Сап, программач, студент-неофит на связи. Помогите разобраться с с принципом работы потоков из threading. Моя проблема вот в чём:Пытаюсь написать скрипт, который будет брать из файла набор данных, пробрасывать их на некоторый сайт и вытаскивать результаты. Данных по идее будет много и это дело надо распараллелить. Мне посоветовали использовать паттерн producer-consumer, реализацию которого я подсмотрел тут: https://www.bogotobogo.com/python/Multithread/python_multithreading_Synchronization_Producer_Consumer_using_Queue.phpВот кусок кода, с которым я работаю: https://pastebin.com/aVyx7Hheзабыл дописать в комментах - ql это очередь входных данных для producer'а, q это очередь заданий для consumer'аСобственно, вопрос: Как правильно переписать классы ProducerThread и ConsumerThread, чтобы они передавали элементы из очередей в аргументы таргет-функций, которые я в них помещу при создании
При x=-12 значение y=2.1835481124208896e+16При x=-11 значение y=1.08285670562808e+16Как округлить эту поботу? я попробовал round (y,3) и 0:.3f, не округляется.
>>1544369Когда второй аргумент round положительный, округляется до нецелой части. Тебе же нужно округлить до целой, поэтому он должен быть отрицательный и, наверное, побольше (по модулю).
>>1544369Долбоёб, посмотри на знак после e. Это огроменное целое число, как ты его округлять собрался?
>>1544508использовал его в термукс терминале на ведроиде, на самом деле, без жира, удобнее, чем практически все приложения редакторы кода из маркета.
Нароот. Покритикуйте (кроме код стиля и привязки к cpython) вот этот шыдевр: https://pastebin.com/wK6Ps9fxКод работает на моём системном питоне 3.5 как ожидается. Насколько оно полезное? Есть ли неочевидные минусы у такой штуки?Просто во всех нормальных языках идиома let-in/where есть, а питон как всегда.
Суп питонач, не знаю больше где спросить, у самого пока не хватает опыта решить.Есть задача на мониторинг удалённого устройства (по протоколу modbus, но не думаю, что это важно). Мониторинг -- 1 запрос в секундуДля этого будет использоваться celeryВ зависимости от полученных данных цикл на мониторинг должен останавливаться, а другая задача запускаться. Таких вилок может быть несколько.Вот не знаю, как организовывать такие задачи в celery. Еще не работал с асинхронщиной. Может натолкнешь меня на нужную часть документации и\или статьи?Только не говорите про asyncio, я с ним вообще не работал, на освоение на данный момент не хотелось бы тратить время.
>>1545011Подумал, что в данном случае всю последовательность действий нужно либо записывать в chain, полный цикл взаимодействий с несколькими итерациями чтения и записи записывать в одну задачу (что, возможно, не самая лучшая практика)
>>1545274>Зачем нужны абстрактные методы (@abstractmethod)?Чтобы питон хоть как как-то мог в интерфейсы, а не только в мемесы про утку.
>>1545310Ну что, оказалось, что утки в долгосрочной перспективе не сильно помогают? А кто-то ещё предлагал жабу выкинуть.
Нужно возвести число в отрицательную степень по модулю. Число и модуль 10^100 порядка, степень < 50. Какие либы юзать?1. У стандартной pow степень не может быть отрицательной, если есть модуль.2. Decimal посылает нахуй.Ссылка на идеон по реквесту.
Задача: возвести число в степень по модулю. Юзаю Decimal:ctx.power(a, b, N) #a и N 10^100 порядка, > 0, объявлены как Decimal. b < 10, просто степеньОшибка decimal.InvalidOperation. Как фиксить? Код алсо по реквесту
Так, питонач.Есть данные с подданными. Как их лучше хранить? В sql-базе данных? В csv-файлах?И если понадобится их (данные и подданные) извлекать случайным образом, это можно будет сделать?
>>1532134 (OP)Посоветуйте что для изучения джанги, кроме djbook и офф документации, это я и так знаю. Но мб еще что то годное есть ?
В который раз напоминаю вкатывальщикам на питухон, которые надеются влиться в веб парашу, особенно великовозрастные. Стоп, лучше не стоит вскрывать эту тему, работы нет и не будет.
>>1545011>В зависимости от полученных данных цикл на мониторинг должен останавливаться, а другая задача запускаться.>Еще не работал с асинхронщиной.А зачем тебе делать асинхронным способом задачу, которая поставлена как синхронная?Делай классическим способом, синхронно. Запрос-ответ, если ответ один, ждёшь до секунды и снова запрос, если другой ответ, запускаешь нужную задачу.
>>1532134 (OP)Бляя, помогите, вроде сделал уже все что нужно, но джанго все равно не хочет работать.После python manage.py migrate выходит ошибка:django.db.utils.OperationalError: (2019, "Can't initialize character set utf8mb (path: C:\\Program Files\\MySQL\\MySQL Server 6.1\\share\\charsets\\)")Но у меня только mysql server 8.0, и путь к нему C:\Program Files\MySQL\MySQL Server 8.0\share\charsets . Почему оно ищет 8.0 вообще не понимаю.Нагуглил то, что написано на пике, изменил my.ini, добавил туда эти кодировки, но все равно не помогло.
>>1546126Пиздец, вот так днем захожу, думаю сейчас буду разбираться с бд и джанго, ура нахуй.Потом бах, не встает mysqlclient из за того что винда x64, гуглишь, фиксишь. Потом ещё одна ошибка, надо гуглить менять my.ini, потом ещё в index.xml что то добавлять, потом опять ошибка и приходится ещё гуглить и менять в mysql метод шифрования, что бы блять был identified with mysql_native_password, все начинает работать, но уже так заебался + конец дня, гг
Привет, питоны.Вкатываюсь относительно недавно, поэтому интересна какая-нибудь конфа по Питону. Знает ли кто такие? Желательно, что бы там сидели не совсем душные сениоры с 400к в наносекунду.
Решаю ctf. Там сервер создаёт куки, в которой упакованный в pickle словарь, в котором нужно поменять одно значение и hmac строка тоже в этом словаре, которая мешает это сделать. Пытаюсь заменить эту строку на объект кастомного класса, который всегда возвращает тру при сравнении чтобы проверка на равенство прошла не зная секретной строки с сервера. Пикл нормально это дампает. Но в другом модуле он не может это загрузить т.к. там такой класс не определён. Хотя в интернете просто объявляют класс с переопределённым методом __reduce__ и пихают туда пэйлоуд. И у них всё работает не смотря на то, что на сервере такого класса нет. Но у них второй питон. Я на третьем пробовал и так тоже не получилось. я даже брал код из примера и дампил его на одной консоле, а загрушал в другой и не работало с третьим питоном. Как заставить пикл работать с кастомными классами?
>>1532134 (OP)Кто-нибудь читал сицп на питоне по ссылке из шапки? Эта книга поможет мне, если у меня главная проблема в продумывании архитектуры? Я каждый раз когда что-то прогаю, пишу простейшую функцию одну, а потом к ней прилепляю каждый раз кусками дальше логику, потом когда оформилось всё уже делю на функции или классы. А потом я попытался в домашнее TDD и у меня полный пиздец, нихуя не могу даже продумать куски, постоянно приходится залезать и переделывать тесты и всё такое.
>>1547024> сицп> проблема в продумывании архитектурыЯ канечно книгу не читал, но ты уверен, что она вообще об этом?ИМХО с архитектурой тебе поможет только практика.
Я пиздец походу тупой... Есть тут те, кто сидит на codewars? Думал попробую, может чему научусь, ага. Просят решить задачку, код работает неправильно и надо выяснить почемуdef multiple(a,b): a*bНу я и дописал print и взял условие в скобки. Хуй там, не то. Я вообще не пойму че им надо
>>1547076Думаешь? Print(a*b) ведь проще, к чему изъебываться с ретурнами. Ебучий сайт короче, пошли они нахуй. Лучше на двоще посижу
>>1547081>к чему изъебываться с ретурнамиТы шизоид какой-то или что? Как они должны результаты проверять по-твоему?
>>1547081>Думаешь? Print(a*b) ведь проще, к чему изъебываться с ретурнами. Ебучий сайт короче, пошли они нахуй. Аахаххах, ебать толсто ))Но если все таки не троллинг, то тесты кодварса принимают ответ из твоего returna, да и вообще что return, что print это одна строчка
>>1545656Ещё один вопрос: каждая из строк таблицы может иметь подтаблицу с вариациями. Как это лучше оформить: куча мелких подтаблиц привязанных к конкретной строке или одна большая таблица со всеми вариациями?
>>1547092>>1547124Спасибо, ребят. Хуй с ним, завтра попробую снова. Хули инет только седня мобильный появился, до этого книжку ток читал и в интерпретаторе всякие задачки делал. Домашнего инета нет в этой деревне ебаной, так хоть с телефона щас чето новое попробую
>>1547131> Питон> бэкендеромЭто троллинг такой? Или в ваших Палестинах железо уже бесплатно раздают, а люди стали такими терпеливыми, что запрос выполняющийся миллиард лет, они подождут?
>>1547193Можно подумать, на питоне пишут исключительно хвйлоад. Кстати, ты знаешь, что тормоза питона - хуйня по сравнению с ожиданием ответа от БД?
Анон, почему так? Как я понял, в питоне все передаётся по ссылке, так? Тогда n изменился только потому что списки мутабельны, а a остался прежним потому что int - иммутабельный, я прав? Но тогда почему в new_n попал None?
>>1547360А бля, потому что append() не возвращает нихуя. Туплю.Но насчет остальных догадок скажите все ли верно.
>>1532134 (OP)Натолкнулся на позицию, что мульти-трединговое программирование считается антипаттерном. Почему?..
>>1547472Ох ебать, а ниче что бывают ситуации, когда мультитрединг ставится не от хорошей жизни, а просто потому что по-другому никак?..
>>1547472Еще скажи что асинхронщину сложно сопровождать, и следовательно это антипаттернпограмеры совсем уже что ли обленились в край?
>>1532134 (OP)Как запилить асинхронное логирование?.. Чтобы прога асинхронно осуществляла запись логов в файл (или вывод на экран), экономя производительность?
>>1547584Не факт прямо, что это производительность увеличит. Общий подход в том, что есть задача, которая складирует логи в файл, печатает на экран или ещё чего. Создаётся очередь, в которую другие задачи кладут задания, а задача-логгер читает сообщения из очереди и делает свою работу.Это и для асинхронных задач, и для потоков общий подход.
>>1547594Пробовал сам пилить потоки с общей очередью - вышло хуево. Есть вариант привлекать второй Process, но это херня какая-то, асинхронщину логичнее запилить, есть какие либы дял асинхронных логеров? Или его можно даже самому на базе одного лишь asyncio запилить?
>>1543593Я очень рад, что все больше людей начинают осознавать, что Лутц - уебан, наконец я не один буду его хейтить в тредах на мейлаче это переоцененное говно.
>>1544508Все бы было хорошо, но к сожалению его невозможно закрыть, кто-то тут в треде писал, что надо ребутать систему, мне недоело через пару дней, а в целом редактор хороший, да.
>>1544342del - команда для сборщика мусора, ее модно применить к любому объекту, pop - метод у класса, скорее всего последний оптимизирован и выполняется быстрее, но вообще для удаление элемента из листа, я думаю arr является таковым в твоём примере, есть метод remove.
>>1544347Это хреновая реализация в целом, на текущий момент нет ни одной причины использовать старые потоки (имеет смысл смотреть в сторону корутин в твоём случае, либо процессов не в твоём случае). Но но теме вопроса, ты ведь передаёшь через аргументы таргет - объект, а именно имя функции, потом вероятнее всего тебе нужно вызывать эту функцию, ну и собственно в чем проблема вызвать ее с нужными аргументами из очереди? Если серьезно, советую бросить текущую реализацию, наверняка что-то такое есть на async.
>>1548110Удваиваю. Лутц - графоман, который не может в суть, и всё пиздит, пиздит и пиздит там, где хватит пары предложений.
Привет!Кто нибудь писал ботов для вк на vk_api, хотя этот модуль не принципиален. Не могу понять как организовать диалог, с привязкой к состояниям, для телеграма это красиво реализовано в python-telegram-bot. Подскажите кто нибудь как это сделать, если кто-то сталкивался.
Может кто нибудь объяснить, почему он постоянно подсвечивает это и предлагает добавить @staticmethod ?
>>1548145>с привязкой к состояниямможешь пояснить, что ты подразумеваешь? Я просто занимался хернёй с ботами как для телеги, так и для ВК. У ВТентакле там жопа, конечно.
>>1548171У python-telegram-bot есть класс Conversationhandler в котором есть аргументы entry_points (вхождение в диалог) states (описываются шаги этого диалога) и fallbacks (который завершает диалог) в пределах этого диалога все сообщения отлавливаются прописанными в этих аргументах хендлерами, и мы можем завадать на каждую нашу реплику назначать нужный нам хендлер, который будет проверять то что пришлет пользователь в ответ. Таким образом можно лупать одну функцию или наоборот перепрыгивать через какие то состояния, например: у нас есть 2 кнопки: "найти" и "зарегистрировать" из найти мы перепрыгнем в одну ветку диалога по другой - в другую, но этот функционал легко реализовать в вк с "payload" хоть и ебать как ахуенно передавать словарь в виде строки в виде словаря. Но вот если я спрошу пользователя о чем то в текстовом формате, я конкретно на нужный мне обработчик не смогу его отправить. Я ловлю в лонгпуле эвент с типом "MESSAGE_NEW" но в эту отборку провалятся все сообщения. Можно конечно каждый следующий шаг в этом диалоге ловить по номеру сообщения в диалоге с пользователем... Но похоже я чето перемудрил и вообще запутался. Для телеги я написал бота который собирает инфу и регистрирует заявку, может осуществлять поиск по этим заявкам, с ВК я не понимаю как реализовать вот сам этот принцип назначения из одной стадии паттерн который будет отлавливать следующую стадию.
>>1548185Знаешь... Я в АПИ ВК особо сам не разобрался, там такая дичь, что я пользовался костылями. Приходилось лишние строчки кода писать. Лучше попробуй загуглить. На Хабре обязательно должен быть ответ. Даже не просто ответ, а целая инструкция по работе с АПИ.
>>1548366Да это больше реализация самой логики чем АПИ. Искал везде примитивные боты "юзер прислал сообщение - юзер получил картинку" . В общем треде посоветовали на конечные автоматы посмотреть
>>1548368Я реализовавал подобное с обычным словарем(в котором хранились виды состояний и действия) + кеш для хранения и быстрого доступа к актуальному состоянию юзера.Так делал бота для вк и аналогично для дискорда.
Анон, а для каких целей в питоне используют файл, который называют utils.py? Что туда помещают? Типа как конфиг приложения?
>>1548682Сильно от вуза и кафедры зависит. Где-то можно тупо кодить хуиту, где-то придётся обмазываться матаном и диффурами.Попробуй какой-нибудь machine learning.
>>1548144Мечтаю, что однажды ко мне придет домой Лутц и скажет "Я был очень плохим мальчиком-графоманом, плез, накажи меня!" и я распечатаю его очко, а он будет молить продолжать...
Задачка по питону на ночь или помогите решить домашку.короч есть два списка словарей, задача создать функцию/луп да что угодно который найдет совпадения в values каждого dict в list1 со вторым списком values в словарях из list2. Объяснять я конечно не умею нормально, так что вот пример и примерно какой результат нуженlist1 = [{a:[1,2,3]},{b:[3,4,5]},{c:[6,7,8]}]list2 = [{a:[1,2,3],[11,25,33]},{b:[23,43,57],[22,4,5]},{c:[9,10,65],[32,43,54]}]output [{b:[4,5]}]
>>1549014ой там ошибки вот так правильно сорян list1 = [{'a':[1,2,3]},{'b':[3,4,5]},{'c':[6,7,8]}]list2 = [{'a':[[1,2,3],[11,25,33]]},{'b':[[23,43,57],[22,4,5]]},{'c':[[9,10,65],[32,43,54]]}]
>>1548682Интернет-магазин с загрузкой товаров в виде zip-архива, в котором лежат папки с картинками + csv, в котором сами товары, их категория и прочее. И, само собой, бд нужно какую-нибудь прикрутить.
>>1549025>научрука нетКак это? А контролирует кто? Кто подписывать РПЗ и направление на защиту будет?
>>1548519А через лонгпул все было реализовано? Хотя я все равно не понимаю как этот переход сделать от состояния к состоянию.
Я тут всё думаю запилить десктоп программку. И оказывается есть разные библиотеки на питон, не только PyQt. Например PySimpleGui. В общем я тут внезапно решил что сделаю просто обычное джанго приложение, которое будет устанавливаться вместе со всем необходимым на комп и просто открывать браузер на локальную url. Это совсем трешово или нормальная тема? Уверен, такие приложения есть.
>>1549425Собрался тащить аж целый вебсервер, чтобы приложение работало? В принципе, jupyter-notebook так и сделан, но решение выглядит каким-то странным.
>>1549430С одной стороны да, с другой проще будет сделать обычную веб-версию.Например zoom для мака постоянно крутит веб сервер в бэкграунде. И с этим была связана небольшая уязвимость.
>>1532134 (OP)Как сделать, что бы джанго принимал запрос с русскими символами? Например: { \"title\": \"Сыр \"Российский\"\", \"description\": \"Очень вкусный сыр.\", \"price\": 100 }Запросы с латинскими обрабатывает отлично и все работает.Например: curl -v -H "Content-Type: application/json" -X POST -d "{\"title\":\"Cheese\", \"description\":\"Very nice cheese\", \"price\": 100}"Схема на marshmallow. Код - https://pastebin.com/pDAMFi4m
>>1549439>в хедерыВ curl? А как именно туда utf-8 добавить? Чет гуглю 'curl utf-8' и особо ничего не нахожу
>>1549443Там что-то типа -H. Просто поищи какой хедер отвечает за кодировку и как добавить аргумент хедеров в curl.
Что за бред, почему оракл не хочет принимать мою карточку, в поддержке пишут, мол, может вам лучше с корпоративной почты зарегаться, охуенно, а в амазоне с годовым триалом будет такая же хуета?
>>1549090Да, через это.Ну приходит новое сообщение, берешь ИД автора сообщения и чекаешь его актуальный статус, затем чекаешь сообщение полученное у думоешь что и как делать с ним.
>>1549426Не, мне кажется так себе проект на первый взгляд. Не очень популярный. Но самое плохое то что (по крайней мере в примере с vue) приходится писать в питоне на вью. Т.е. это дублирование какое-то. Немного сбивает с толку. Почему нельзя просто подключить Js и там всё делать как обычно? Наверно можно, но зачем тогда они сделали апи к vue в питоне? Видимо чтобы использовать данные с фронта в питоне, но стоит ли это того? Странно.
>>1549450У оракла та акиция закончилась уже, на сколько я знаю. Но вообще у тебя скорее всего руснявая карта какая и он ее не хочет.Я пробовал альфа-банк и соснул, потом попробовал раффайзенбанк и вин.
>>1549425Десктоп очень удобно через КуТэ дезигнер пилить, а потом упаковщиком завернуть его для установки.
>>1549463Да вроде висит так же эта акция. У меня сберовская карта только, так что наверное из-за этого. А амазон сберовскую тоже не примет?
>>1549472Я, кстати, по гуглу где-то видел, что оракл хочет, чтобы всё было от одной страны, попробую ещё с яндекс почтой регануться, лол. Ладно, не буду больше срать в треде не по теме.
Как посмотреть расход памяти в моей проге? Чтобы при вызове определенной функции/метода было нативно видно сколько оперативы жрет каждый объект?
>>1549647Пиздуй в академУ нас на маге в прошлом году 3 дебила с защиты слетело. Потому что 1й ебанько твой брат по крови не делал нихуя и даже научрука найти не смог, а это автоматом означает хождение нахуй, 2го завалил сам научник, сказав что такую хуйню что ему принесли, он подписывать не будет, а 3й сам в академ заранее ушел, т.к. понял что еблан
>>1549649Благо тему я нашёл, научрук подпишет как миленькаяМаге - магистратуре? у мну заоч бакалавр, здесь проще все, тему норм уже нашёл, осталось оформить все ето дерьмоИ как завершилась стори с 3м челиком? смисол от академа, от диплома не убежишь
>>1549033И насколько удобно это, загружать файлы и еще объяснять редактору как csv ердачить-редачить? Что технолоджи ты выдумал, где об этом почитать?
>>1549667Не надо ничего пояснять, зачастую получают инфу о товаре в магазине в виде хмл/ксв файла с данными.мимо
надо будет спарсить классическую хуйню с сайта в виде название статьи, статья, картинки в статье. аноны, где можно найти годную хуйню по разработке такой штуки с использоованием bs4?
Есть 2 питонокниги по датасаенс: "Анализ данных" и "Питон для сложных задач". Обе начинаются одинаково: среда IPython, numpy, scipy, patplotlib, pandas. Какую из них читать?..
>>1549762>>1549766Они небольшие прочи обе, и ты можешь читать то шо не знаешь, пропускать шо знаешь, убиваешь сразу двух метафорических зайцев одним воображаемым выстрелом
За счёт чего numpy работает с векторами намного эффективнее стандартного CPython? Оно разве проводит операции с ними на GPU? (если нет, то можно как-то запихать эти вычисления на GPU?..)
>>1549856> За счёт чего numpy работает с векторами намного эффективнее За счет того что он написан на С и на куче низкоуровневых либ(не только Сишных, но и фортран и прочее), без особой прослойки.> можно как-то запихать эти вычисления на GPU?Вычисления можно, но не на чистом нампае. Гугли.
from bs4 import BeautifulSoupModuleNotFoundError: No module named 'bs4'в чем может быть трабл? поставил его только что через терминал. алсо, его пайчармподключать не хочет и видает залупу в виде "You're trying to run a very old release of Beautiful Soup under Python 3. This will not work."что за прикол такой то?>>1549737 - кун
>>1550123pip install beautifulsoup4ты так устанавливал? Если нет, то ты установил 3 версию которая старая о чем тебя PyCharm тебя и предупреждает
>>1550123а вообще вот https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soup
>>1550123А лучше не изобретай велосипед и воспользуйся уже готовым https://requests-html.kennethreitz.org/
>>1532134 (OP)Пиздец, уже вышла 3 версия джанги, а я только начал её учить. И что теперь делать? Джанго бук по 1.0 версии, документация на русском по 1.9, офф доки по 3.0. И хз вообще что надо учить
>>1535942Да, вакансий не много, но и конкуренции не особо много. Моего кореша считай за просто так взяли в Джангиста.
>>1535953Детектишь координаты первого нажатия мыши, потом второго. Из них получаешь ещё две точки, пихаешь в простую функцию, обрезаешь.
>>1550127да, только в самой системе у меня стоит bs4 >>1550127а пайчарм пытается скачать зачем то 3 (?)но тащем то я проблему решил с этой хуйней. теперь вообще какая то чушь происходит. если запускаю через интерпритатор пайчарма выдает одни ошибки, а если через терминал то другие. в чем может быть проблема?
>>1550179В настройках проекта в пайчарме выбери через какой интерпретатор запускать. В принципе там же, ты и загружать должен модули. Но вообще лучше разберись в venv. и нахуя тебе bs4 и пайчарм вместе? Ты парсить так заебешься, тебе надо научиться с Ipython notebook работать, это намного удобнее
>>1550161Загугли>>1550173> Моего кореша считай за просто так взяли в Джангиста.Ну надеюсь все это и правда не так сложно, учу уже месяца 3, надеюсь через 2-3 месяца вкачусь джуном-джангистом )) >>1535965>Скорее всего в твоём городе нет ни одной вакансии с питоном, даже если есть, то для пхп вакансий в десятки раз больше.А пхп учить просто стремно, это же совсем макака
>>1550188в пайчарме стоит нужный интерпритатор как раз и нужные модули.>ты парсить так заебешься, тебе надо научиться с Ipython notebook работать, это намного удобнееа через него сильно лучше чтоли? и почему? он у меня там на домашней пеке стоит и я на нем чет делал, а на галере здесь такого нет
Суп аноны.У меня есть два списка, которые изначально получены из ксв файлов.Выглядят они вот так:[['49182'], ['51666'], ['52507'], ['51589'], ['51408'], ['50701']][['59'], ['65'], ['51'], ['41'], ['51'], ['55']]Мне нужно превратить их в простые списки и поделить друг на друга, т.е.a = [49182, 51666,....]b = [59, 65, ....]c = [833.6, 794.9, ....]Как это сделать?
>>1550408l1 = [['49182'], ['51666'], ['52507'], ['51589'], ['51408'], ['50701']]l2 = [['59'], ['65'], ['51'], ['41'], ['51'], ['55']]a = list(map(lambda x: int(x[0]), l1))b = list(map(lambda x: int(x[0]), l2))c = list(map(lambda x: x[0]/x[1], zip(a, b)))
>>1550418Низуя, чет совсем люто.А нельзя как-то просто два списка привести к виду нормального списка, и их уже поделить друг на друга зипом?
>>1550425тогда уж c = [int(l1[j][0])/int(l2[j][0]) for j in range(len(l1))]>>1550434так мой вариант решения в этом и заключается, либо я тебя не поняла
>>1547521Ну в питоне потоки не сложные, они просто бесполезные, или ты не отличаешь потоки от процессов?
>>1550462Я говорю вообще, а не конкретно про питон. В контексте питона мой пост - хуйня, тут от потоков только один толк - разделить потоки выполнения, например, в одном потоке ждать пользовательского ввода, а в другом что-нибудь делать в фоне. Асинхронщина хотя бы полезна при вводе-выводе. В процессах же сложнее организовать взаимодействие, но зато можно подсчитывать что-нибудь тяжёлое, и тут возможен какой-то прирост в скорости.По крайней мере, это всё насколько я, будучи нюфаней, понимаю.
>>1550408l1 = [['49182'], ['51666'], ['52507'], ['51589'], ['51408'], ['50701']]l2 = [['59'], ['65'], ['51'], ['41'], ['51'], ['55']]trans = lambda x: list(map(int, str(x).replace('[', '').replace(']', '').replace('\'', '').replace(',', ' ').split())a, b = trans(l1), trans(l2)c = [l1 / l2 for i in range(len(l1))]
>>1548169Твой метод класса это по сути независимая функция, которую можно вынести в отдельный модуль, он никак не взаимодействует ни с классом, ни с инстансом. Проще говоря у тебя внутри метода не используется self. Жаль, что пайчарм ещё не дорос до понимания того, что self используется в декораторах, иногда приходится глушить инспекцию.
>>1534380Можно узнать что за idle,может и не idle,не знаю как точно называется,но выглядит удобно,я про то что на скриншоте.Извиняюсь за не грамотность,я изучаю питон всего неделю.