Это копия, сохраненная 13 июня 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
веселый сайт https://sites.google.com/view/pypry/
скучный F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
для кода https://repl.it/languages/python3
Предыдущий тред >>1164614 (OP)
python питон пайтон vscode вскод
Вкатился на всякий случай
главное что битард и лого
Рядом с саламандрой питон
Это ты спрашивал про 1000 одновременных запросов?
На самом деле на этот вопрос нет простого ответа.
И простых решений тоже нет.
Зависит и от характера данных, и от характера запросов в том числе.
Т.е. будет ли эффективно работать кеш.
При реально высоких нагрузках всё просто держат в памяти.
А так - любая современная база данных подходит под твой реквест. Все они рассчитаны на множественные одновременные вызовы. Иначе, нахуй бы они были нужны.
H2 можешь посмотреть, например.
CREATE TABLE test_users (
id SERIAL PRIMARY KEY,
username VARCHAR UNIQUE,
password VARCHAR,
role VARCHAR NOT NULL
);
заношу второго юзера со специально таким же юзернеймом, id следующего все равно повышается на 1. Это норма? А вдруг кто нить УСТРОИТЬ ПЕРЕПОЛНЕНИЕ?
Блять, эти табы, прости меня хоспоть.
> Это ты спрашивал про 1000 одновременных запросов?
Не про 1000, но да, ситуация похожая. Я попробовал использовать гугл шиты, так там не то, что бы каша получается, а некоторые записи буквально не добавляются. А с .db нормально все.
> А так - любая современная база данных подходит под твой реквест.
Я не до конца понимаю определение "база данных". Вот *.db к чему относится?
Если что я её просто создал через DB Browser for SQLite
> H2 можешь посмотреть, например.
Гляну, спасибо. По идее, её тоже можно ковырять, как вышеназванную БД?
tkinter бесполезная вещь, которая не используется PyQt и другими сасными фреймворками?
Любая бд, которая пакует/читает данные только с помощью кода Питона (то есть хурят pickle, struct, shelve и типа того) без специальных слов типа SQL, является ORM?
Используют ли это где-нибудь в серьезных вещах, или если я хочу идти в джуны бекэнда мне нужны MySQL, NoSQL и PostgreSQL иначе пошел я нахуй?
>Django, Flask
Используют WSGI, стандартный питоновский интерфейс для работы с потоком http запросов. Они сами по себе с сокетами не работают, разве что локальные наколеночные devservers.
>tk
Отдельный тулкит. WxWidgets использует наиболее нативный фреймворк для каждой ОС.
>Любая бд
>является ORM
Что? Во-первых нет, во-вторых сам вопрос некорректен.
>бекэнда мне нужны MySQL, NoSQL и PostgreSQL иначе пошел я нахуй
Да. Можешь без NoSQL для начала. Редис только посмотри краем глаза.
>H2
Это джава.
Я не посмотрел, в какой тред пишу, лол.
>Я не до конца понимаю определение "база данных".
Имелась в виду клиент-серверная база данных.
Где твоя программа соединяется с серверным процессом (на этом же или удалённом компьютере) через драйвер, а не напрямую с файлом данных через какую-то библиотеку.
Начни с MySql, например.
Если у тебя не табличные данные (не SQL) - то MongoDB.
Есть ещё ZODB - объектная БД чисто для питона - напрямую сохранять питоновские объекты.
Что там с производительностью и параллельностью - не могу сказать.
Спасибо, буду пробовать, если с простой БД не получится.
Причем ядовитая, сука. Не дай бог на лицо взберется.
https://ideone.com/iEFO0x
По сети все таки
А с чего ему работать быстро, если он построчно хуячит?
Надо как-то bulk insert делать, х.з. как, погугли.
Весьма благодарен-с!
У тебя приходит запрос, ожидается завершение транзакции и только потом начинается новый, раз все это происходит по сети, то тут очевидно бутылочное горлышко это блокировка io, если ты все делаешь для постгрес, то рекомендую
https://magic.io/blog/asyncpg-1m-rows-from-postgres-to-python/
В таком случае ты сможешь расширить логику в будущем, если потребуется, а то bulk insert все таки только для определенных файлов работает
Да, для пострес. Спасибо, анонче
Надо executemany пачками лить. А ещё лучше по сжатому каналу пересылать потоком сам csv, а стейтменты выполнять локально.
cat file.csv | gzip | ssh user@host "cat - | gunzip | psql -h localhost -d dbname -U dbuser -c \"copy dbtable (column1, column2) from STDIN with delimiter as ','\""
Примерно так.
Выглядит оче практично, но задачка была написать имено питоний скрипт, попрактиковаться. Однако годнота, спасибо!
Ну в целом да, часто так и выходит, совсем тривиальное баш, чуть сложнее уже надо питон. Например столбцы как-нибудь перемножить или обновить какие-то зависимые таблицы после влива.
Не запускается компилятор jython под pycharm. Входные данные:
- ubuntu 16.04
- pycharm community, собранный через umake
- джава 8 от оракл
- jython 2.7 с оффсайта
Что делаю: ставлю jython через java -jar ./jython.jar, ошибок нет, место - /home/user/jython. Далее в pycharm проекте устанавливаю компилятор - /home/user/jython/bin/jython.py и получаю ошибку: https://pastebin.com/9BXKYW5r
Обидно, что все то же самое в винде10 работает. Пробовал с jython из репозиториев, но там старый - 2.5, ошибок еще больше. Накатил для теста ubuntu 17.10, где в репах уже 2.7 jython, там ошибок не меньше. Есть мысли?
Чувак, слишком мало вводных, тебе не ответит никто, если сам не занимался установкой этой довольно странной вещи. Встретить такого человека здесь, а тем более в /s/ маловероятно, так что единственное, что можно посоветовать -- пиздовать в гугл с ошибками и разбираться самому.
Ладно, спасибо за честный ответ. Правда я почему то думал, что питон кроссплатформенный, а по факту не очень.
Залезь в исходники и посмотри, что там, в этом месте.
Сделай (временно) печать в консоль сомнительных параметров и т.п.
Это же питон, блядь.
Попробуй без IDE, руками.
Алсо, с какой целью ты хочешь использовать jython?
Ничего плохого я в этом не вижу, и долбоёбы выше - неправы, просто интересно.
> Вот так, но я думаю в стандартной библиотеке это должно быть https://ideone.com/47YohY
map и так по умолчанию итератор возвращает
Чувак, понимаешь, какая штука - в джаве есть батарейки.
В питоне они тоже есть, но, в джаве
- Их больше.
- Они гораздо длиннее и толще.
- Они действительно кроссплатформенные.
Пока только конфочки поглядел, ну стелят складно
олсо тайловый менеджер под лины на расте запилили, в т.ч под вейленд, а это топчик для энтузиастов
так что я считаю кресты останутся в прошлом, либо как с ясом, экма вберет в себя самое лучшее, а все остальные останутся сосать хуи и клеить наклеиички
На конфочках все стелят складно, даже по жсу
>Алсо, с какой целью ты хочешь использовать jython?
На работе используется связка sikuli+pycharm+jython для автоматизации. А я все никак не могу полностью переехать на ubuntu, поэтому приходится в виртуалке сидеть.
https://github.com/darrengarvey/notespy
Пытался pipinstall'ить - все без толку.
Маков не завезли, винда мне не очень удобна по работе, а на убунте эта связка не работает, поэтому я спросил здесь.
>а на убунте эта связка не работает
Да ну нахуй.
Это у тебя или с убунтой что-то не то, или ты просто не осилил поставить. Наверняка дело в ерунде.
Посмотри в исходниках, что именно он считает "not a directory", и проверь, что именно туда передаётся при запуске - напечатай в stdout или stderr.
Возможно, ты что-то намудрил с окружением.
Там же написано, что нужно просто notes.pyd иметь в пути. Другое дело, что это протухшее дерьмо не импортится нихуя: либо Invalid win32 application, либо модуль какой-то при загрузке DLL не находит.
Попробуй сам скомплиировать: https://docs.python.org/2/extending/windows.html
В общем, как правильно будет проверить приходит ли этот аргумент или нет? Может есть что-то типа if аргумент is EXIST или что-то в этом роде?
В голову приходит типа проверить if arg is list, ведь он лист
Спасибо.
Всё пошло не так, как ожидаю ещё задолго до того как мне это пригодилось, так что ты вовремя. Спасибо.
мне надо
f(a, b, c=<аргумент которого может не быть, а может быть>
Как мне блядь так сделать???
взял вот аддон мультиимпорта обжов(3д файл) переделал на фбх ну и подчистил говно лишнее
оставлять ли в авторах оригинального хуя? ставить его после своего ника или до? я по сути написал там пару букв ну и рефактор небольшой
какие у нас бес практис приняты на этот счет?
>джайтон
а это говно меня вообще никак не тревожит, у меня все хорошо изкоропки, индусы молодцы, постарались на славу
>пайчарме
тупой кусок говна, он ничего не может, только хайпиться модным векторным сплешем среди школьников, ну и спасть жабистов от суицида таки да
ставь репл на вскод будет тебе время, либо выделяй кусок и пускай, либо весь файл целиком
> ставь репл на вскод будет тебе время, либо выделяй кусок и пускай, либо весь файл целиком
Ничего не понял!
Зато он работает из коробки и работает хорошопослал нахуй VS код потому что в нем надо час с бубнами танцевать чтобы получить человеческий линтер/подсветку/подсказки
Проприетарный Пайчарм для тебя норм, а свободный VSCode - зондирован, ведь от мелкомягких, да?
У тебя проблемы с восприятием реальности.
Я бы ещё понял если бы ты сидел онли на vim/emacs.
>тупой кусок говна, он ничего не может
1)полная инспекция любой либы
2)тонко настраиваемая подсветка на любой случай, включая проверку совместимости кода для разных версий питона
2)удобный дебагер и профайлер
3)вызов докстрингов по клику на любой функции
4)интеграция со всеми возможными системами контроля версий с удобным разрешением конфликтов
5)диаграммы для асинхронного кода
6)подключение к базе данных
7)Подсветка и автокомплит для шаблонизаторов фреймворков, да и вообще интеграция с фреймворками
8)Настройка конфигов для тестов c сохранением истории и вызовом прогона отдельного теста одним кликом
9)Плагины на любой вкус Ну ладно, это и в вскоде есть
10)Деплой на удаленный сервер
11)Интеграция с докером
Это то, чем я пользовался в последнее время, все из коробки
Может я что-то не так делаю, но timeit выдает ~8 секунд(?), а cProfile 0.010
The profiler modules are designed to provide an execution profile for a given program, not for benchmarking purposes (for that, there is timeit for reasonably accurate results). This particularly applies to benchmarking Python code against C code: the profilers introduce overhead for Python code, but not for C-level functions, and so the C code would seem faster than any Python one.
Может ты прочитаешь документацию, в которой написано, что по дефолту timeit выдает время на исполнение куска кода 1000 раз? или 1000000 я хз
>Может ты прочитаешь документацию
>Так ты "хз", или так и есть?
Тебе запрос в гугл вбить лень и самому все узнать сразу, а не ждать анонов?
> Тебе запрос в гугл вбить лень
Если б было не лень, то не спрашивал бы. Уже одним глазом сплю, хочу уже разжеванное.
Нахуй ты сюда свой сайт принёс и при этом проебал ссылку на Я.Диск со всеми книгами?
Кстати, какого хуя там было так много книг? Это чтобы пропустить стадию Джуниора и стать сразу сверхчеловеком?
Вот двачую, какая то хуйня на гугловской cms, можно было всю инфу в гитхаб засунуть, ну или хотя бы на джанге/фласке/любом питоновском фреймворке с исходниками выложить, позор для треда нахуй, да ещё и нумерация зачем-то, что она даст? Кто-то сохраняет эти треды с вопросами уровня школьников, которые программирование только на паскале видели? На важное можно делать пулреквесты в гитхаб-вики треда
Ты думаешь, что тех. литературу читают только джуны и трейни? Они были разные для разных людей и задач, даже обучающие, чего только программирование с помощью minecraft стоит
> Кстати, какого хуя там было так много книг?
Они были для всех этапов развития и различных направлений, а не только для джунов и сеньёров.
Мне вот сейчас за машинное обучение на sklearn припёрло почитать, и что? и где оно нахуй?
>>1459
> на джанге/фласке/любом питоновском фреймворке с исходниками выложить
Более чем согласен, питон в действии показать да и можно было бы улучшать его с выходом новых примочек и как пример юзать.
Но нет, нахуя, давайте накидаем непонятно что на гугл-цмс и будем радоваться и пихать его всюду.
Ах,да, кроме сайта ещё и VSCode продвигает ОП, зойчем? Почему не указаны альтернативы сразу(она указана на гите, в гайде, и на том спасибо)? Ведь в пайчарме, том же, куча батареек сразу идёт?
Мне кажется, что он школьник/студент, который программированием особо не занимался.
>проебал ссылку на Я.Диск со всеми книгами
ее удолил гугл за авторские права
никто и никогда ее даже блядь не открывал сука! зелень спрашивала, ей отвечали одно и тоже, тайтлы я прикрепил на главной, на ней же ссылка на яд на топовые книжки, а кто реально хочет УЗНАТЬ ВСЕ СЕКРЕТЫ ВСЕЛЕННОЙ(вместо работы) пусть идет и читает портянку в факе где есть старая ссылка(или нет я не ибу и не должен, пусть старый пассионарный оп заботиться, пуште его блять наздоровье, линк в прошлом еще не протух)
>>1459
>хотя бы на джанге/фласке/любом питоновском фреймворке с исходниками выложить
сделай, а мы запулим
>>1461
>программирование с помощью minecraft стоит
ебатель глаз и мозга
>>1464
> где оно нахуй?
вам хоть весь сайт баннерами обвешай, вы никчемыши только ныть можете, в фак на гите никто не ходил не ходит и не будет ходить, о чем я и говорил
>никто и никогда ее даже блядь не открывал сука
Хуй там, открывали и читали, так же книги добавлялись туда.
> ее удолил гугл за авторские права
Вот и нехуй было связываться с гуглом.
Вот нахуй ты ломаешь обратную совместимость тредов? Зачем удаляешь "ненужное", на твой взгляд? Хочешь добавить свой недо-сайт - добавляй, но сохрани старые линки, ведь они были полезны!
> а кто реально хочет УЗНАТЬ ВСЕ СЕКРЕТЫ ВСЕЛЕННОЙ(вместо работы)
> вместо работы
Я тебя удивлю, но читать книги на работе для работы - нормально.
Например уместнее ли использовать его вместо листов в случаях:
elem in ['a', 'b'] -- тут просто литерал, используемый для проверки значения elem.
SOME_CONST = ['a', 'b'] -- константа, которую я не планирую изменять.
Насколько я понимаю на скорость тут использование tuple никак не повлияет, только обеспечит гарантию неизменяемости.
Некоторые анончики в треде писали что tuple нужно рассматривать как простую структуру данных, например для передачи из функции. И не следует его использовать для гарантии неизменяемости (ибо "we are all consenting adults here").
>>1411
>>1465
Ну а за вскод значит так:
это продолжатель идей имаксовых, хоть в нем и нету календарика с фазами луны, но в остальном это почти операционная система, в которой есть все что нужно и запускается она быстрее атома раз в 5, не говоря о пчарме даже если ты отбитый вимоеб ты можешь сделать все как в нем, или сделать умнее и взять только самое лучшее, типа выделение до скоупа или перемещение на строку по первым буквам или дефенишн функции в окошке как в брекетс, аддонов гигансткое количество и все нереально полезные на все случаи жизни, НА ЛЮБОЙ ЯЗЫК
вот свежий пример комфорта — форкнул кусок говна читай аддон для вскода, открыл прямо во вскоде консолечку, склонил, добавил нужный фукнционал, закомитил и запулил не выходя из редактора
в своем говне тоже удобно, тут же открыл мдеху, заверстал, тут же в превьюшке глянул, никуда не дрочишься, не альтабаешься, сидишь уютно в своем текстовом редакторе и кайфуешь
а еще уебанская портянка с консолью не залазиет под файловый менеджер, ебанный пиздец и вырвиглаз нахуй сука
ну и роскошный дебаггер туда же, на завесть вимодегенератам, однокнопочный линтер, просто одна жлобал комманда в консольке для жсхинта и все готово
даже макоебы сидят на вскоде ибо топчик
и только нищие малолетние славики пытаются спустить на парашу бесплатный софт, фу блять фу нахуй
>аддонов гигансткое количество и все нереально полезные на все случаи жизни, НА ЛЮБОЙ ЯЗЫК
Ага, нормальную подсветку синтаксиса темплейтов Django (с Jinja та же проблема), который видит {% %} внутри строк, когда завезут, а?
Алсо, где документация для написания грамматики языка (.tmLanguage), блять?
F(a, b, c=None)
На гитхабе нету ссылки на я.диск.
Шапка не в порядке.
Я и не рассчитываю на помощь, сайт на пару страниц и сам могу сделать, только пока занят.
Но домен и виртуалку уже купил.
Я рад за тебя, пользуйся, НО нужно давать людям право выбора.
Мне вот вскод не понравился, меня устраивает пайчарм для пайтона.
https://repl.it/repls/TomatoAllError
Я бы посоветовал прочитать шапку что в этом треде, что в ньюфаг треде.
Programming in Python 3. Я читал Саммерфильда, можно Лутца
Цель сделать так чтоб агоритм шагал по нажатию кнопки на странице, и на каждом шаге на странице было видно сортирующийся список. Пока вот такое есть:
https://ideone.com/XlMyQU
Вот хтмл к нему
https://ideone.com/wSR0o7
Итак, как же мне запилить пошаговое выполнение алгоса с цправлением через хтмл кнопочку?
Обычный список с названиями тем курсов типа str. Просто для его генерации каждый раз идёт запрос в базу по ид, этот файл (имя папки\темы) содержит в себе список подпапок 'children' типа:
['theme1', 'theme2', 'theme3']
Хотя собственно я вообще к базе обращаюсь по любому поводу, уже много на этом завязано. Предпочитаю генерировать, а не хранить в памяти (потому что лень)
Отлично! Новая тема, спасибо, а то уж думал начал стагнировать с этим ботом. Последним достижением было прикручивание MongoDB.
Теперь и это прикручу!
Если в этом есть смысл конечно!
Читайешь и одновременно делаешь пишешь что написано в byte of python.
После прочтения бежишь делать свой проект, похуй какой сложности, похуй какой он будет, похуй кому он будет нужен. Но конечно лучше чтобы был нужен, доп мотивация для тебя.
Главное найди идею. Не знаешь как подступиться, не знаешь как её реализовать?
Разбивай эту задачу на мелкие задачи до тех пор, пока эту мелкую задачу ты не сможешь реализовать сам или найти в гугле.
Вперёд, не откладывай. Все вопросы сначала в гугл, потом в шапку, потом сюда.
Не прикручивай. Любое кэширование это сложность, нужно в правильный момент инвалидировать кэш и аккуратно всё обновлять избегая race conditions. Смело бери всё из монги напрямую, любая БД имеет встроенные средства кэширования, с которыми тебе морочиться не нужно, кроме как в конфиге указать сколько памяти оно может сожрать.
Ну всё беги. Если начнёшь прямо сейчас, то в зависимости от свободного времени к концу недели будешь заниматься уже своим проектом, а все остальные нужные знания подтянутся из гугла, инфа 100%.
Да там всё в десятках килобайт, за память думаю можно не переживать. Пох, хотя бы почитаю за кэширование, проект мой всё-таки образовательный.
Ну хочешь brython возьми. Хотя это тот же js с нескучным синтаксисом. Просто ты реально пытаешься достать гланды через анус.
>каждые пол часа перезапускаешь
нет, просто это психологический момент, вот например сабляйм быстрее нотпада запускается, и вот осадочек да
а тут когда ненадо ждать, все лучше и кастомайз во все поля, сплошные достоинства
>>1538
>темплейтов
ебись с ними сам, так же как джейд\пугоебы страдают и ты страдать должен ты ж программист, сраный парсер с раскрайской асилить ниможишь!?
>>1586
>На гитхабе нету ссылки на я.диск.
возьми и добавь
>домен и виртуалку уже купил
это самое главное
>и сам могу сделать, только пока занят
=)
>>1587
>право выбора
только поднимает уровень стресса у тревожного анона, вскод наилучший выбор по мнению большинства
а если кто то захочет пожрать отсталого тупого запутанного неудобного устаревшего проприетарного говна — то он сам найдет по запаху
>>1593
>учебник? хочу основы
тебе ничего не поможет, первый и самый главный навык — самостоятельный поиск инфорамции, увлеченность и заинтерисованность, ты дропнешь на первой же серьезной проблеме(где взять учебники лол)
>каждые пол часа перезапускаешь
нет, просто это психологический момент, вот например сабляйм быстрее нотпада запускается, и вот осадочек да
а тут когда ненадо ждать, все лучше и кастомайз во все поля, сплошные достоинства
>>1538
>темплейтов
ебись с ними сам, так же как джейд\пугоебы страдают и ты страдать должен ты ж программист, сраный парсер с раскрайской асилить ниможишь!?
>>1586
>На гитхабе нету ссылки на я.диск.
возьми и добавь
>домен и виртуалку уже купил
это самое главное
>и сам могу сделать, только пока занят
=)
>>1587
>право выбора
только поднимает уровень стресса у тревожного анона, вскод наилучший выбор по мнению большинства
а если кто то захочет пожрать отсталого тупого запутанного неудобного устаревшего проприетарного говна — то он сам найдет по запаху
>>1593
>учебник? хочу основы
тебе ничего не поможет, первый и самый главный навык — самостоятельный поиск инфорамции, увлеченность и заинтерисованность, ты дропнешь на первой же серьезной проблеме(где взять учебники лол)
thank you, pal
Получается таким образом можно и официально пойти работать программистом без официального образования по сути?
Какой ты токсичный, фу, следующий тред без тебя перекачу
>>темплейтов
>>ебись с ними сам
С темплейтами ебись сам, с линтером ебись сам, со всем ебись сам. Я так могу пустой файл вбросить и сказать : "Вот вам VScode2.0, со всем функционалом ебитесь сами."
>вскод наилучший выбор по мнению большинства
Дай мне этот функционал >>>1171411 без часовой ебли и я сразу признаю это
> нет, просто это психологический момент
Я смотрю, ты у нас разражительный.
> а тут когда ненадо ждать, все лучше и кастомайз.
Вот у меня даже не ССД дома стоит, и грузится вполне себе быстро, возможностей кастомизации хватает. Я в нем работаю, а не разглядываю дезигн буковок или с секундомером сижу и засекаю время загрузки.
>домен и виртуалку уже купил
> это самое главное
Для меня - да.
>и сам могу сделать, только пока занят
> =)
Что сказать то хотел?
> только поднимает уровень стресса у тревожного анона,
Тревожному анону,нужно лечиться
> вскод наилучший выбор по мнению большинства
Большинство не всегда право.
И я повторюсь: Должно быть очевидное право выбора, что бы человек сам принял решение, выбор хорошей среды разработки, которая сможет поддержать анона вначале(готовыми решениями), а в перспективе облегчит и ускорит разработку, очень важен и каждый САМ должен выбирать, а не принимать твое мнение как последнюю инстанцию.
> а если кто то захочет пожрать отсталого тупого запутанного неудобного устаревшего проприетарного говна — то он сам найдет по запаху
Ваше мнение, очень важно для нас, оставайтесь на связи.
>не ССД дома стоит
ты ведь жирный? ну вот честно, индекс массы у тебя должно быть неибический
>Я в нем работаю
а я отдыхаю, именно поэтому все должно радовать глаз, никакого визуального шума или пройоба по дизайну типа терминала под файл менеджером
>сказать то хотел
что у тебя ничего не получится, неблагодарный анон все равно не оценит, ты зря потратишь ресурсы, не получив ничего взамен
>сам принял решение
а как зеленый сделает это? он ведь не знает что хорошо, а что плохо
для работы во вскоде ему нужно включить один плагин и все из коропки работает, все туторы на ютубе на вскоде, стоит ли ему ебаться в говно только потому что ты считаешь себя ущемленным!? не говоря о том что мир левеет и приучать в ФЛОСУ нужно анона с самых ранних лет
ты получаешь бесплатно хорошую вещь, она по настоящему твоя и ты сразу же ощущаешь ответственность и желание вернуть больше чем взял, быть частью большого коммунити таких же увлеченных селф мотивейтед комитеров это серьезный дейли драйвер
нежели гадкое чмо пошло на трекер, слило говно за жалкую двадцатку баксов вмесяц и типерь тупо ебошит уроки сам не понимая зачем, а потом если повезет попиздует на галеру, гроб гроб кладбище пидор
как видшь — два совершенно разных пути, которые начинаются с выбора простого редактора кода...
Попробуй напрямую через pip. Зайти через консоль в питон, далее вызови pip install package.
>ты ведь жирный?
Нет, серьезно, стоит два жестких диска, на 2тб и на 750гб. ССД думаю брать, но пока не
> а я отдыхаю, именно поэтому все должно радовать глаз,
Радует функционал, и то, что он расширяется
> никакого визуального шума
То что лично ты не юзаешь определенные функции, не говорит, о том, что это шум и мусор
> или пройоба по дизайну типа терминала под файл менеджером
Разве не удобно?
> что у тебя ничего не получится, неблагодарный анон все равно не оценит, ты зря потратишь ресурсы, не получив ничего взамен
Ну так я ни на что и не надеюсь, чего ты? Просто хочу для себя и для людей поднять информативный ресурс и сделать полноценную шапку, взяв лучшее из старой и твоего сайта. Я знаю, что глупые вопросы не прекратятся, но тем не менее.
> а как зеленый сделает это?
Ну я же это когда-то сделал? Ты же это сделал? Не надо думать, что ты самый умный.
> он ведь не знает что хорошо, а что плохо
Рука подскажет. Я попробовал и консоль, и саблайм, и вижуал студию, и нотэпад.
В результате юзаю саблвйм как редактор кода, но основной разработкой занимаюсь на пайчарме. Все просто.
Пробовал недавно вскод и мне не очень понравилось ибо ...ну как-то не так, не более.
> для работы во вскоде ему нужно включить один плагин и все из коропки работает,
А что в пайчарме? Еще с бубном поплясать?
Да нет, скачал,запустил и погнал хуярить. Если хочет плюшек, типа гита/бд/markdown - скачать плагины предложенные.
> все туторы на ютубе на вскоде,
Нет, ты не прав, ты опять свой личный опыт и виденье ситуации пытаешься на других спроецировать - хватит, астанавись.
> стоит ли ему ебаться в говно только потому что ты считаешь себя ущемленным!?
Я? Нет. Я предлагаю свободу выбора, ты же, заставляешь анона жрать то же, что и ты, с уверенностью, что ему понравится, а если нет, то он просто дурачок, ведь не может не понравится.
> как видшь — два совершенно разных пути, которые начинаются с выбора простого редактора кода...
Это все ИМХО и не более, ты падаешь в моих глазах и превращаешься из анона, который хотел освежить шапку, в недалекого, который пришел и пытается насаждать свое мнение всем и вся.
>ты ведь жирный?
Нет, серьезно, стоит два жестких диска, на 2тб и на 750гб. ССД думаю брать, но пока не
> а я отдыхаю, именно поэтому все должно радовать глаз,
Радует функционал, и то, что он расширяется
> никакого визуального шума
То что лично ты не юзаешь определенные функции, не говорит, о том, что это шум и мусор
> или пройоба по дизайну типа терминала под файл менеджером
Разве не удобно?
> что у тебя ничего не получится, неблагодарный анон все равно не оценит, ты зря потратишь ресурсы, не получив ничего взамен
Ну так я ни на что и не надеюсь, чего ты? Просто хочу для себя и для людей поднять информативный ресурс и сделать полноценную шапку, взяв лучшее из старой и твоего сайта. Я знаю, что глупые вопросы не прекратятся, но тем не менее.
> а как зеленый сделает это?
Ну я же это когда-то сделал? Ты же это сделал? Не надо думать, что ты самый умный.
> он ведь не знает что хорошо, а что плохо
Рука подскажет. Я попробовал и консоль, и саблайм, и вижуал студию, и нотэпад.
В результате юзаю саблвйм как редактор кода, но основной разработкой занимаюсь на пайчарме. Все просто.
Пробовал недавно вскод и мне не очень понравилось ибо ...ну как-то не так, не более.
> для работы во вскоде ему нужно включить один плагин и все из коропки работает,
А что в пайчарме? Еще с бубном поплясать?
Да нет, скачал,запустил и погнал хуярить. Если хочет плюшек, типа гита/бд/markdown - скачать плагины предложенные.
> все туторы на ютубе на вскоде,
Нет, ты не прав, ты опять свой личный опыт и виденье ситуации пытаешься на других спроецировать - хватит, астанавись.
> стоит ли ему ебаться в говно только потому что ты считаешь себя ущемленным!?
Я? Нет. Я предлагаю свободу выбора, ты же, заставляешь анона жрать то же, что и ты, с уверенностью, что ему понравится, а если нет, то он просто дурачок, ведь не может не понравится.
> как видшь — два совершенно разных пути, которые начинаются с выбора простого редактора кода...
Это все ИМХО и не более, ты падаешь в моих глазах и превращаешься из анона, который хотел освежить шапку, в недалекого, который пришел и пытается насаждать свое мнение всем и вся.
вооще, oracle. стандарт для интырпрайзов всяких, и очень даже неплохо держится в нагруженных приложениях. но оно нахуй тебе надо? стоит как почка
Делаю тут автопилот и пытаюсь в АоП, с блекджеком и нейронками
>>1171800 //
>>1170829 // Архив прошлых моих постов
>>1171002 //
>>1171314 //
Сейчас вот запилил блок-схему программы, которая должна будет использовать 3 потока для решения задачи автопилотирования, в 1 измерении в планах все 3 и даже чуть больше.
Братушек-питонушек у меня уже не осталось. Кто-то спился, кто-то на JS скатился, так что пишу сюда, в надежде на конструктивную критику и наставления по реализации кода.
В схеме конечно не отметил циклы, но меня больше интересует - имеет ли смысл бить программу на 3 потока и если "да", то подходит-ли под эти цели мой алгоритм? В многопоточности я пока ноль и только-только начал её изучаение. Но там хоть есть что учить, а от АоП только идея и немного видео на английском.
https://radikal.ru/big/ngdt0ggsppz94][img]https://d.radikal.ru/d12/1804/d9/733e3ccbf09bt.jpg
Ебаная макака не загружает даже 2мб ЖПЕЖКУ, так что вот ссылка на радикал.
>Нет, серьезно
не верю, только жиробасы могут терпеть пока шпендель там расчехлица, ну и говна пожрать спокойно со словами "ну а чиво такова та" дрыщь же будет уже лежать заколотый отверткой
>лично ты не юзаешь определенные функции
у тебя все это висит ПОСТОЯННО, в то время как у меня тыкнул\прожал хоткей и открылась менюшка на которой все НУЖНЫЕ кнопочки
ты только блять посомтри на пустую хуевину сука дебаг квери, а то я блядь такой тупой что нахуй внизу таба мне недостаточно, да? вас держат за дегенератов и праивльно делают и еще рядышком дебаггер мы пизданем что уж наверняка славики знали где находятся
>Разве не удобно?
нет, когда мне нужен файловый менеджер я его вызываю и переключаю на него все свое внимание, после работы с ним яего закрываю
в нем ничего такого не происходит в рилтайме что бы был хоть один повод его постоянно держать открытым
а учитывая что большинство нотбуко пидоры, с крошечными экранами и дешманскими ублюдскими 1366 матрицами, то тут вообще можно умереть от смеха
>Ты же это сделал?
перепробовав все говно на свете, проибав уйму времени и сил, если бы в свое время мне попался бы анон который популярно объяснил чому вскод такой охуенный я был бы ему безмерно благодарен
как бы в этом принцип развития нашей цевилизации, не изобретать велосипед, а сразу переходить к мопеду
>юзаю саблвйм как редактор кода
крякнутый? или как уебан жмешь кансал?
я за блокнот 80 баксов зажидил и перешел на нотпад++, тоже пользую для мелочевки и когда надо быстро чето открыть глянуть
>А в пайчарме
как минимум минюшка с юзер аддона засунута в сракотан, и с первого взгляда вообще не очевидно что там есть репки с инлайн инсталом
>свой личный опыт
у тебя какие то другие ролики на ютубе лол?
кстате когда попадалась русня или какелы, то либо ++ либо пчарм, задумайся, заебанные функциональщики сидят на виме лел
>ведь не может не понравится
так ведь правда же
ладно, хуй с тобой золотая жирная рыбка, я придумал достойный компромис
>Нет, серьезно
не верю, только жиробасы могут терпеть пока шпендель там расчехлица, ну и говна пожрать спокойно со словами "ну а чиво такова та" дрыщь же будет уже лежать заколотый отверткой
>лично ты не юзаешь определенные функции
у тебя все это висит ПОСТОЯННО, в то время как у меня тыкнул\прожал хоткей и открылась менюшка на которой все НУЖНЫЕ кнопочки
ты только блять посомтри на пустую хуевину сука дебаг квери, а то я блядь такой тупой что нахуй внизу таба мне недостаточно, да? вас держат за дегенератов и праивльно делают и еще рядышком дебаггер мы пизданем что уж наверняка славики знали где находятся
>Разве не удобно?
нет, когда мне нужен файловый менеджер я его вызываю и переключаю на него все свое внимание, после работы с ним яего закрываю
в нем ничего такого не происходит в рилтайме что бы был хоть один повод его постоянно держать открытым
а учитывая что большинство нотбуко пидоры, с крошечными экранами и дешманскими ублюдскими 1366 матрицами, то тут вообще можно умереть от смеха
>Ты же это сделал?
перепробовав все говно на свете, проибав уйму времени и сил, если бы в свое время мне попался бы анон который популярно объяснил чому вскод такой охуенный я был бы ему безмерно благодарен
как бы в этом принцип развития нашей цевилизации, не изобретать велосипед, а сразу переходить к мопеду
>юзаю саблвйм как редактор кода
крякнутый? или как уебан жмешь кансал?
я за блокнот 80 баксов зажидил и перешел на нотпад++, тоже пользую для мелочевки и когда надо быстро чето открыть глянуть
>А в пайчарме
как минимум минюшка с юзер аддона засунута в сракотан, и с первого взгляда вообще не очевидно что там есть репки с инлайн инсталом
>свой личный опыт
у тебя какие то другие ролики на ютубе лол?
кстате когда попадалась русня или какелы, то либо ++ либо пчарм, задумайся, заебанные функциональщики сидят на виме лел
>ведь не может не понравится
так ведь правда же
ладно, хуй с тобой золотая жирная рыбка, я придумал достойный компромис
> кстате когда попадалась русня или какелы
> кстатЕ
sentdex - интересно, а он кто? русня или какел?
И опять всё к тому что МНЕ НЕ УДОБНА, Я ЗНАЮ ЧТО И КАК ВАМ НАДА ДЕЛОТЬ - ок.
Не нравится - минимизируй.
>задумайся, заебанные функциональщики сидят на виме лел
так это потому что у них нет иде и работы, лел
>он
вимоеб
я не про харды
манюнь на 10ке есет можно уже не воровайть
ну ок уже лучше, менюбар еще бы убрать, ну и цветастые значки справа отвлекают, в божественном вскоде они специально выполнены в нейтральном дизайне, как и все в принципе, мммаксимум внимания на код
>>2011
кек, зато они могут удалить сто абзацев тремя кнопками
а вообще среди ясовцев функциональщину форсят, видимо устали от дохуя швабодки
>вимоеб
сабляймоеб
очевидный фикс
>вот свежий пример комфорта
свежий пример комфорта VSCode:
DOMString и DOMstring - воспринимаются как одно и тоже и выделяются через Ctrl-D. По-моему - это пиздец, не я конечно понимаю, что это разработал Microsoft, которым поебать на разрабов, быдло все равно скочает - ТАМ ЖЫ ДИРЕХТИСК. Но чтоб настолько отбитыми быть.
>
>разработал Microsoft, которым поебать на разрабов
ну и что бы все окончательно поняли что ты неразумное животное
> сабляймоеб
но не вскодер, так? я вообще не видел что бы юзали вскод хоть где-то. видел лишь консоли/саблайм/вим.
> манюнь на 10ке есет можно уже не воровайть
хорошая привычка осталась, всё забываю нахуй в принципе снести его.
> менюбар еще бы убрать, ну и цветастые значки справа отвлекают, в божественном вскоде они специально выполнены в нейтральном дизайне, как и все в принципе, мммаксимум внимания на код
Ну а мне так наглядней, потому что это не рядовая кнопка/выпадающее меню а запуск скрипта/дебагер/прочиеплюшки
Вот тут человек точно охуеет.
а что не так!? вскод редактор кода, ну тебе и показывают блять АЛЬТЕРНАТИВЫ РЕДАКТОРУ КОДА ну че ты меня опять злишь то нахуй тупостью какой то блядь
и как я и сказал вся пчарм контора держится исключительно на жабистах у которых попросту нету иного выбора
> По-моему - это пиздец
По моему у тебя выключен матчинг по регистру.
> По-моему - это пиздец, не я конечно понимаю, что это разработал Microsoft, которым поебать на разрабов
Я сначала тоже с предвзятостью относился к вскоду из-за репутации мс, но VSCode вместе с LSP – лучшее что сделали мелкософты имхо. Просто охуваю как же все хорошо и годно сделано, по удобству – некст-левел в сравнении с остальными редакторами. Жаль только что все это на ЖС дрисне, это как сделать гениальную скульптуру, только вместо камня или бетона – говно.
>все это на ЖС дрисне
но ведь работает же?
да и как иначе, сейчас что то высекать из раста камня на века тупо стремно и велика вероятность тупо проибать лове, не угнавшись за очередной веб йобой
Сумбур выходит, в одном ряду и среды йобо-разработки и блокноты.
Раздели тогда уж красивые редакторы кода и среду разработки
Работает, но все же хочется уберскорости-стабильности и редактора навека, а не дрисни на ЖС выжирающей терабайты памяти на ровном месте.
Вот поцоны из камня делают https://github.com/google/xi-editor , у меня большие надежды на эту хуйню.
>все же хочется уберскорости
в текстовом редакторе!? у тебя мультикурсор на миллион строк подтормаживает или йоба макрос какой то??? скорей всего просто школьный максимализм, но ничего, подрастешь и поймешь что те кто у руля — считают деньги, а не реализуют юношеские мечты, а в суровых реалиях иметь портянку половину которой можно переписать силами одной галерины это большое преимущество
кстати в 22 апдейте они как раз добавили няшный попап, который вылазит если ты открываешь жайсон на десяток гектар потому что могу, мол можно откушать больше 4 гига памяти, а раньше надо было ручками править конгфиг
>стабильности
? ниразу не упал, несмотря на то что я его кишки бездумно ковыряю палкой
>навека
щас даже дома не строят, а ты про тек, забудь
>у меня большие надежды на эту хуйню.
>(pronounced "Zigh")
смузихлебская дристня
> в текстовом редакторе!?
Нет, в редакторе кода, при обвешивании плагинами это все начинает местами прилично тупить на моем то i7м, а после длительных аптаймов заметно увеличивается инпут-лаг и начинает просто люто-безбожно лагать скролл.
> подрастешь и поймешь что те кто у руля — считают деньги, а не реализуют юношеские мечты
Хуя ты просвещенный. Ну раз большие дяди все решили то я больше не хочу удобный инструмент, и так сойдет.
> смузихлебская дристня
Как будто вскод – нет. По крайней мере они пытаются в мои юношеские мечты – чтоб редакторы кода не тормозили и не жрали памяти как ебаные сучары. А то либо емакс-вим точеный, либо атом-вскод дроченый.
272x420, 5:39
>ты ж программист, сраный парсер с раскрайской асилить ниможишь!?
>>Алсо, где документация для написания грамматики языка (.tmLanguage), блять?
Да блять, не могу когда нормальный документации просто, блять, нету.
>купил зондированный камень со спермой под крышкой
>жалуется на божественный индусо-софт
>дрочит на пидарастню похлеще кофя-атома
>проц купил, а память забыл
лол ок
>>2057
кто хочет — просто делает
кто не хочет — находит отмазки
https://www.youtube.com/watch?v=S76pHIYx3ik
Ну не все же сидят на прыщах или гейоси, ежжи программисты с традиционной сексуальной ориентацией.
Ты библиотеку-то установил?
Да у нас тут причина того, почему новичкам не стоит использовать Пайчарм.
Понаставят себе IDE, а потом не знают как устанавливать пакеты и запускать скрипты без этой самой IDE.
Не, я серьёзно, ты упустил много базовых знаний.
истину глаголит котей ^_^
Варианты:
1. Дуалбут винда + минт (можно но придется ставить винду поверх минта, а это поломает загрузчик емнип)
2. Винда + виртуалки (2 гб оперативки, не катит)
3. Винда + встроенный недавно в нее линухтерминал.
Посоветуй?
Приколы начнуться, когда понадобиться сишные расширения к питону писать, а с каким-нибудь терминалом и пакетным менеджером он разберется я думаю))
>понадобиться сишные расширения к питону писать
Ну наверное сишные расширения даже профессиональному Питониситу далеко не каждому приходиться писать. А вот разбираться с проблемами при установке существующих биндингов к сишным либам - это да, особенно под виндой.
Я сам ещё нюфаг, поэтому ставить PyGraphviz было очень больно.
Ну если ноут слабый, то виртуалку не потянет, с линуксоконсолью не работал - ничего не скажу.
Но вот 4 года просидел на ноуте с дуалбутом - полет нормальный.
>минта
нахуй, накатывай арчик в минималочке, или если совсем тупой ставь арчилабс, там гуй во все поля и опенбокс, так что изи твоя печатная машинка его вытянет
и да ставить надо сначала венды, а уже потом сверху класть линупса, оспробер нактаишь ничего не сломается, либо есть гуевина так же одним кликом чинишь груб
вендо-терминал ну хуй знает, какое то дрочево как по мне
Я перекатываюсь из php, потому что php - это 99% написать модуль для вордпресса. Кроме того, я очень не люблю фронт, а php без фронта практически нет. Можно в python окуклиться в бэкенд-мирке и получать нормальные деньги? Или здесь всё равно нужен ФУЛСТЭK RECTAL ANGULAR GULP WEBPACK
Для ml нет образования и, соответственно, базы.
> кококо памяти мало
~16гб забито к хуям вместе со свопами круглые сутки а я макбукодебил и не могу поапгрейдить, поэтому просто страдаю, при этом гиг до 5-6ти может распухнуть только связочка скайп+слак+вскод, спасибо индусам.
Большинство вакансий именно таковы, ФУЛШТАК МАКАК КУД КУДАК
> Можно в python окуклиться в бэкенд-мирке и получать нормальные деньги?
Да, кроме того можно работать вне веба, сетевой/сервеный софт например типа какого-нибудь опенстека.
Но вкатываться тебе придется все равно через джанго с ангуляром скорее всего.
>По моему у тебя выключен матчинг по регистру.
>
А какого хуя он выключен по умолчанию? И где его включать.
Смотрите, аноны. У меня есть огромный текстовый файл вида http://www.primos.mat.br/primeiros_10000_primos.txt
Там, на сайте - есть архивы побольше. Этот текстовый файл - содержит простые числа.
Числа идут по 10 чисел на одну строку, через табуляцию (0x09 байт), а затем - сброс строки (байты 0x0D, 0x0A).
Задача - произвести поиск вводимого числа по текстовому файлу.
Есть код:
number = input("Input the number: ");
filename = 'input.txt'
with open(filename) as f:
print('prime' if number in f.read() else 'not found')
Но если ввести число 124 - выводится 'prime',
потому что в текстовике есть число 1249.
Как проверить число полностью, ч этими разделителями - табуляцией и сбросом строки?
Есть три варианта, возможного содержания числа целиком:
'\t'+number+'\t'
'\t'+number+'\r\n'
\r\n'+number+'t'
но это три отдельных переменных,
а проверяется одно из вхождений, и это только первое.
Если после первого число не найдено, то оно дальше, в файле - тоже может быть не найдено, хотя оно может быть в файле выше.
Надо как-то три раза от начала и до конца, просмотреть этот файл с разными символами.
Смотрите, аноны. У меня есть огромный текстовый файл вида http://www.primos.mat.br/primeiros_10000_primos.txt
Там, на сайте - есть архивы побольше. Этот текстовый файл - содержит простые числа.
Числа идут по 10 чисел на одну строку, через табуляцию (0x09 байт), а затем - сброс строки (байты 0x0D, 0x0A).
Задача - произвести поиск вводимого числа по текстовому файлу.
Есть код:
number = input("Input the number: ");
filename = 'input.txt'
with open(filename) as f:
print('prime' if number in f.read() else 'not found')
Но если ввести число 124 - выводится 'prime',
потому что в текстовике есть число 1249.
Как проверить число полностью, ч этими разделителями - табуляцией и сбросом строки?
Есть три варианта, возможного содержания числа целиком:
'\t'+number+'\t'
'\t'+number+'\r\n'
\r\n'+number+'t'
но это три отдельных переменных,
а проверяется одно из вхождений, и это только первое.
Если после первого число не найдено, то оно дальше, в файле - тоже может быть не найдено, хотя оно может быть в файле выше.
Надо как-то три раза от начала и до конца, просмотреть этот файл с разными символами.
Для массива:
#массив чисел
input_nums = [1069, 1068, 84701, 84702, 124, 127]
for num in input_nums:
if is_prime(int(num)): print(num) #возвращает только найденные простые числа
>isinstance
спасибо. а может подскажешь, как сделать так чтобы в аргументе неизвестного типа открывалось АПИ определенного типа, вроде тайп сейфти в ipython через точка.таб?
Нихуя не понял.
Ты имеешь ввиду автокомплит в твоём редакторе кода/IDE?
Зависит от IDE. Энивей - это сложно.
да. мне как то IDE предлагала че то типа assert, это не то?
Уже разобрался. Там лишь две функции.
Как видишь, я прописал и проверку одиночного значения, и вывод простых чисел из массива.
У меня 16 гигабайт оперативной памяти, архивы 7z там по 12 мегабайт, текстовые файлы - занимают не более 100 мегабайт каждый.
Последняя часть из этих: http://www.primos.mat.br/De_900G_a_1T.html вообще 77 мегабайт в распакованном состоянии.
Но разархивировать каждый раз, для одной проверки - не очень хочется. Поэтому первые архивы - будут распакованы.
К тому же файл у тебя всё-равно построчно читается.
А у меня - там в том скрипте, просто головка по диску бегает, и указатель ищет совпадения - и всё.
Файл не загружаетя полностью в память же.
Да, я так ещё подумал, можно ускорить проверку числа - попыткой деления на все простые от меньшего до кореня от числа.
Только как это реализовать в питоне - не понимать. В JS могу напроглить, а тут какой-то синтаксис не тот.
а если я хочу чтоб аргументом была функция определенной сигнатуры, которая принимает 2 аргумента, как мне написать такую проверку?
понятно. ну его нахуй пока что
747x420, 8:18
>функция определенной сигнатуры
>в динамически типизированном языке
Проверить каких типов аргументы функции - никак. Такую проверку только внутри самой функции можно поместить.
Проверить является ли аргумент функцией - >>2343
Проверить количество аргументов у функции вроде можно через func.__code__.co_argcount и func.__code__.co_kwonlyargcount, но это уже пиздец.
630x420, 5:03
список - контейнер одинаковых по смысле значений [val1,val2,val3]
кортеж - аналог записи (record)
(int1, str2, float3)
Всё, решил. Вот функция.
def is_prime(n):
if n % 2 == 0 and n > 2:
return False
readedprime = iter_primos()
for i in range(3, int(math.sqrt(n)) + 1, 2):
if n % i == 0:
return False
return True
Снова я. Хуйня эта функция. Она только нечётые считает.
Вот так решил...
#!/usr/bin/python
import math # This will import math module
...
def iter_primos():
with open('py/search/primeiros_10000_primos.txt', 'rt', encoding='utf-8') as f:
for line in f:
for num in line.split('\t'):
yield int(num)#каждое число из массива - возвращается
def is_prime(num):
if num % 2 == 0 and num > 2:
return False
for var in iter_primos(): #взять очередное простое число и положить его в var
if var>int(math.sqrt(num)+1): return True#если значение очередного простого числа больше его корня - число не разделилось.
elif num % var == 0: return False #если число разделилось - оно не простое.
else: pass #иначе - другой простой делитель из var.
#массив чисел
input_nums = [100823,9225,79817,52250,10271,82337,48869,19379,38459,29023,37889,70113]
for num in input_nums:
if is_prime(int(num)): print(num) #возвращает только найденные простые числа
___________________________
результат:
100823
79817
10271
48869
19379
38459
29023
37889
все они простые.
Если перед pass - засунуть "print(var);" можно видеть делители составных.
Снова я. Хуйня эта функция. Она только нечётые считает.
Вот так решил...
#!/usr/bin/python
import math # This will import math module
...
def iter_primos():
with open('py/search/primeiros_10000_primos.txt', 'rt', encoding='utf-8') as f:
for line in f:
for num in line.split('\t'):
yield int(num)#каждое число из массива - возвращается
def is_prime(num):
if num % 2 == 0 and num > 2:
return False
for var in iter_primos(): #взять очередное простое число и положить его в var
if var>int(math.sqrt(num)+1): return True#если значение очередного простого числа больше его корня - число не разделилось.
elif num % var == 0: return False #если число разделилось - оно не простое.
else: pass #иначе - другой простой делитель из var.
#массив чисел
input_nums = [100823,9225,79817,52250,10271,82337,48869,19379,38459,29023,37889,70113]
for num in input_nums:
if is_prime(int(num)): print(num) #возвращает только найденные простые числа
___________________________
результат:
100823
79817
10271
48869
19379
38459
29023
37889
все они простые.
Если перед pass - засунуть "print(var);" можно видеть делители составных.
Всё это должно бы помочь тотальной оцифровке, в процессе моделирования всего.
re.sub("\[[^]]\]", ...)
Как мне её переделать так, чтобы парсилась строка внутри двойных кавычек? От двойных кавычек подряд интерпретатор сходит с ума.
re.sub(\"[^"]\", ...)?
Не слышал, благодарю.
https://stackoverflow.com/questions/49795475/python-ways-and-its-perfomance
bump
что ты конкретно хочешь от редактора?
Ты, если что, экранирование неправильно через жопу использовал.
>re.sub("\"[^\"]\"", ...)
Вполне нормально сработало бы.
Пишу хеловорлд, пытаюсь разбираться
Есть XML-дамп (размером несколько гигабайт, ~10кк записей) одной базы.
Я написал генератор который парсит этот XML поочередно возвращая распарсенные записи (в виде диктов, но это не важно).
И мне нужно перенести их все в БД. Сначала написал примерно такое:
session = Session()
for parsed in iter_xml():
....row = SomeModelClass(<ЗВЁЗДОЧКА><ЗВЁЗДОЧКА>parsed)
....session.add(row)
....session.commit()
session.close()
Но выполнялось это медленно. Заменил "....session.commit()" на:
....if (len(session.new) > N):
........session.commit()
Попробовал разные N, вроде быстрее всего с N = 100.
Я всё правильно делаю?
Просто я думал SQLAlchemy как-нибудь сам может решать когда ему эффективнее коммитить.
долго - это сколько?
вот у меня есть два массива a и b
я хочу вырезать у них по одинаковому куску
и чтоб не хардкодить хочу запомнить в переменную кусок который хочу вырезать. например с 0 до 10
и как мне записать это через переменную а не через цифру
cuta = a[кусок]
cutb = b[кусок]
вместо a[0:10], b[0:10блять]
я бы заибашил сниппет что бы таки по красоте
но ты уже пробовал тупо говно в переменную сувать и подсовывать?
типа
cuta = a
a = [0:10]
string = "2:5"
out = X[string]
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
спасибо
а тьфу работает с нампи. спасибо
Ну про нампи ни слова не было, а так на — https://docs.scipy.org/doc/numpy/reference/generated/numpy.s_.html
ну логика была у меня праивльная, значение переменной нужно таки во что нибудь обернуть, так что нахуй иди и да я как раз устанавливал вскод и не успел ручками сам поделать
Ну нампиевский имеет больше фич, может потом тоже пригодиться же, поэтому лучше знать.
>>3083
>ну логика была у меня праивльная
>значение переменной нужно таки во что нибудь обернуть,
Блядь, какая логика, это его реквест и был — запихнуть "значение слайса" в переменную, чтобы не использовать, так сказал, его литерал. Если бы ты и это не сделал, то я бы уже звонил Михалычу за навозом тебе под дверь.
>устанавливал вскод
А в консоль зайти и за секунду в интерпретаторе проверить? Ну ты же ни разу в жизни не делал то, чего советовал, как вообще в голову может прийти просто так взять и спиздануть? Неужели самому не стыдно непроверенные вещи писать? "a = [2:5]", пиздец нахуй, с кем я тут сижу, боже мой..
>за секунду в интерпретаторе проверить
где тут интепретатор? ткни пальцем
>не "a = [2:5]"
а = "[2:5]" -- в жиэсо-параше это бы прокатило
и САМОЕ ГЛАВНОЕ ЭТО ДАТЬ АНТОШКЕ НАДЕЖДУ, меня например любая хуйня может навести на правильные мысли, ну а внимнаие антошека и вовсе бесценно ^_^ а ты нудный гной
Прыщеёб, не знающий, что такое консоль (имея "Konsole" прямо перед глазами), в которой можно python3 ввести и попасть в репл? Кажется, хуже уже некуда. Пообкалываются своими пучармами с вскодами и вообще нихуя не понимают потом, как, что и где работает.
>а = "[2:5]"
Ну первый пост был без строки, считай что я его имел в виду. У меня в посте кавычки были лишь как цитата. Со сторой тоже не лучше попытка, в любом случае.
>в жиэсо-параше это бы прокатило
Ага, особенно учитывая, что в ЖСе в принципе через двоеточие никакие слайсы не делаются. Даже если бы я не знал ЖС, я бы пошёл и проверил. Ты, по-моему, серьёзно слегка сумасшедший.
>имея "Konsole" прямо перед глазами
я предпочту подождать три минутки своей няшной темки и подсветки, мне не горит, да и анон никуда не спешит
>через двоеточие никакие слайсы не делаются
вот ты доебался блять, я про приведение типов говорил
учитывая его тотальную кастомизацию, неибическое удобство да даже блять няшных анимаций на кедах больше чем на осьтене и вендах вместе взятых и отличный софт дефолтный kwrite/kate как сабляйм без аддонов который в отличии от вендов тут работает быстрей и запускается почти мгновенно, это отличный выбор для обычного человека
а базирование на базе арча делает любой дистрибутив блидинг эдж свежим и стабильным(на лтс ядре) вон манжиру запилили австрияки с французами, роскошь и порядок прямо сочится с экрана
ну и любой кодер ессно должен быть ближе к самой сути, и тут она лежит не прикрытая прямо под руками, что приятно
выбираешь оконный менеджер или любой другйо софт не по дизайну и красивому сайту, а по языку программирования который интересно поковырять ммм
ну я хуй знает блять вот ты пиздец приставучий, ну типа ввел стрингу никто не ругнулся а дохуя модный молодежный интерпретатор хуйяк и подумал что это слайлс и вуаля ебта нуу
Приводится пример программы, которая определяет палиндром (пикрелейтед). Далее предлагается усовершенствовать её, чтобы она не учитывала пунктуацию и регистр, и определяла, что "Rise to vote, sir." - это также палиндром.
Я просто регулярным выражением удалил точки, запятые и пробелы. Ну, частное решение, но пойдёт.
Видел ещё на стаковерфлоу решение с помощью str.translate(какая-то хуебора дальше)
(кстати, как лучше делать?)
Потом нажал на подсказку, чтобы увидеть, как предлагается сделать на данном этапе изучения питона, и вот что я вижу:
Use a tuple (you can find a list of all punctuation marks here(ссылка)) to hold all the forbidden characters, then use the membership test to determine whether a character should be removed or not, i.e.
ЧТО ЭТО ЗА ХУЙНЯ??? Как по-вашему автор предлагает решить данную задачу?
Сейчас перечитал свой пост и понял, что он предлагает перебирать все символы в цикле.
Как тут, только еще завернуть функцию в итерирование кортежа
https://stackoverflow.com/questions/19859282/check-if-a-string-contains-a-number
строка это субкласс от сиквенции, значит он поддерживает цикл for item in
каждый item это характер из строки
в этом цикле проеряешь item либо на type() либо пытаешься конертнуть его во float без эесепшенов
Схоронил.
Интересно, когда запилят подобное, но под пользовательские модули. Хотя бы под популярное.
Во, уже неплохо.
Пусть тогда это тоже в шапку скинут.
https://github.com/vinta/awesome-python/blob/master/README.md
loop.run_until_complete(async_function())
и стоим, ждём когда эта асинхронная функция что-то там сделает. Можно ли запустить её на исполнение и пойти дальше, не дожидаясь её завершения?
Не, похоже это не то, что мне нужно было.
Крч у меня в составе асинхронной функции запускается синхронная функция, которая вообще весь event loop блокирует (там селениум запускается и это продолжается секунд 5). Как мне его закинуть куда-нибудь чтобы не мешался (в какой-нибудь экзекьютор, что ли)?
Это при том, что у меня нет доступа к переменной, в которой содержится объект event loop'а (дело происходит в channels'ах джанговских)
https://channels.readthedocs.io/en/latest/tutorial/part_3.html
Это не создание лупа, а получение текущего.
https://pyside.github.io/docs/pyside/PySide/QtNetwork/QHttp.html
Вот мой отрывок-говнокодец для фляжки, анон. Я запутался, помоги разобраться.
Для аутентификации мне же нужно из форм в хтмл взять пароль\имейл, и если их нет в базе данных, редиректнуть пользователя на регистрацию?
В начале я пытаюсь на Keras сделать регрессию с одной независимой переменной 'x' и второй переменной, которую предсказывают 'y', например, для синуса или параболы y=f(x). Всё получается отлично программа предсказывает по точкам правильно и синус и параболу.
Дальше я увеличиваю размерность входных данных для двух переменных z=f(x,y). И получается как на картинке. Вместо правильной зеленой линии программа строит очень грубую усредненную прямую - синюю линию.
ПОДСКАЖИТЕ, ПОЖАЛУЙСТА, КАК НА АНГЛИЙСКОМ ПРАВИЛЬНО НАПИСАТЬ ЗАПРОС ДЛЯ ГУГЛА, ЧТОБЫ НАЙТИ ПРИМЕР НА Keras С ДВУМЯ НЕЗАВИСИМЫМИ ПЕРЕМЕННЫМИ И С ТРЕТЬЕЙ ПЕРЕМЕННОЙ, КОТОРУЮ ПРЕДСКАЗЫВАЮТ?
В машоб тред тоже задал вопрос
https://translate.google.com
Попробуй использовать эти ключевые слова:
Keras two independent variable prediction third
По английски, видимо, по другому это всё дело как-то зовется.
Неужели придется писать КОСТЫЛЬ?
Нахуя тебе http из qt? Это же сделано для бичей крестовых. В пифоне для http чего только нет.
Это ты, уебок, который давал какие-то значения для теста моих регулярных выражений и постоянно ломал их?
Так я же не знаток, а спец по-любому бы сразу сказал сколько чего надо без такого долгого подбора. Я почти неделю подбирал сколько слоев взять, скорость обучения какую и decay какой.
Суть не меняется. Это "наука" на "ощущениях".
aiohttp охуенный когда у тебя всякие long polling, websockets и прочие медленные клиенты со stateful соединениями. В остальных случаях отличается только отсутствием батареек на все случаи жизни. В том числе вот с админкой, нет ничего под него.
Держи в курсе.
>Начинайте сразу с qt5
А как его установить? Tkinter есть в стандартной библиотеке, чем и удобен.
А внешний модуль я просто не понимаю, как ставить. Вот скачал я его с офсайта, а дальше что?
Гайды в инете вообще непонятные. Где-то пишется "введите в командной строке pip install pyqt5". А в какой строке? В виндовской или в питоновской? А как же указать путь до папки? В другом гайде еще хлеще: нужно уже скачать с какого-то другого сайта этот модуль, установить его, чего там перекинуть в папку со скриптами в папке с питоном. Чего, блять? Хули так непонятно-то?
Админку я вроде нашел
>Гайды в инете вообще непонятные. Где-то пишется "введите в командной строке pip install pyqt5". А в какой строке? В виндовской или в питоновской?
Тебе рано изучать qt, ты даже основы питона не знаешь
анон тебе советы дает, а ты его матом кроешь, мразь неблагодарная
раскидать файлы по первому индексу(говно_моча_85_01) в папки которые надо создать автоматически
есть ли какой то хитрый скрипт в фильтр которого я бы просто вбил что надо или таки придется самому ебаться раскладывать парсинг засовывать в переменные и ебашить сикл?
На нулевом треде сказали, что нет. И что новички это рак, убивающий индустрию.
поставляй прогу вместе с питоном
А хули там делать, анон?
Берёшь список всех файлов в папке и погнал их парсить простым сплитом названия и в зависимости от номера вставлять в папку, папку или создавай зарание(если их там несколько) или автоматом генерируй по надобности.
>автоматом генерируй по надобности
>cgaxis_models_15_02_01
нужна каждая папка под сначала под 15, а потом под 02 - 03 и тд, думаю тут реально можно заранее простым i++ сделать
надо просто алгоритм продумать, типа вот
если (сплит переменная(15)) != папка 15 => то создать
еслёще сп(15) == папка 15 => переместить в нее сп(15)
Правильно говорить катАлоги.
>деплоить
пулить
форкаешь, клонишь, правишь, пулишь к себе, а потом пул реквест на сайте оформляешь
> проще говоря хочу что бы карты были в одной папке с моделью, по одной модели с картами в каждой папке в папке с названием групп
> проще говоря
> проще
Ладно, я видимо дурак и не понимаю поэтому.
Я примерный план тебе накидал - подправь под себя и реализуй.
Всё это можно легко сделать стандартными методами.
ага, спасибо братишка
>не хочу выкладывать
ссорян не заметил, а зачем тебе ДЕПЛОИТЬ что бы никто не видел?
есть свободный аналог гитхаба там лого с лисичкой, почитай хз как там, есть еще саурсфорж, как там тоже не знаю, потом приходи расскажи чо узнаешь
>ссорян не заметил, а зачем тебе ДЕПЛОИТЬ что бы никто не видел?
Да хз, просто задался таким вопросом. Получается, если я хочу запустить мелкое приложение ( к примеру телеграм бот), я должен сначало залить его на гитхаб? Я думал обычно это делается как-то поприватнее
У меня на первой работе chef использовался, сейчас ansible пользуюсь, можешь еще в докер контейнерах распространять
>телеграм бот
очевидно должен уже где то на серваке хостица, а вся суть гитхаба в опенсорсе и базарной разработке, когда все у все на виду и если чо каждый тебе может показать где ты обосрался или если у кого зудит может сам допилить чето
хьюстон у нас проблемы, кусков разное количество и это говно выкабенивается бля чо делать?
Так в этом и был вопрос. Как задеплоить телеграм бота с локального компа на удаленный
Что мешает тебе сделать приватный гит-репозиторий? Даже на том же битбаките и пулить с него же
вай весь кайф ломаешь я тут решил добавить ГЛУБИНЫ в свой скрипт(что бы неибаца ручками из каждой папки его не запускать) ну и получил на выходе несколко списков, бляцкий гемор, ну да ладно ща гляну чо ты накодил
>найди мне работу
лолвут?
>>4317
ну на чем у тебя бот написан, сервер такой и ищи, бля глупый вопрос же
>>4319
>приватный гит-репозиторий
на гитхабе платный
кароче оформи все по красоте, закоменти как пособие для даунов, сделай что бы он гулял по сабфолдерам как минимум на три глубины, хуячил фбх жипег ну и на всякий случай пнг и obj(в идеале кончено что бы он распозновал сам паттерн ибо сиджиаксис он стандартный у них ну и что бы паттерн можно было переделать на другую контору, но это наверное сложно я хз) вооот
а я тебе скину 5 баксов на палку
.... и еще 5 если заморочишься с паттерном, но только после того как я блять уже наконец то перестану дрочить левое дерьмо и наконец то сука вкачусь в эту парашу
богоподобный вскод
Есть какие-нибудь задачи для нубов в виде проектов (с применением БД и прочего)? А то заеблось уже книжки по алгоритмам решать. Вроде все решаешь, а все равно нуб, который обосрется от даже не сложной реальной задачи.
b = [[1, 2, 3, 4, 5], [2, 3, 4, 5, 6], [1, 3, 5]]
Как мне удалить из b все элементы, которые присутствуют в a?
Итог должен быть [[4, 5], [4, 5, 6], [5]]
Клавишами backspace/delete. Мышкой выдели нееужное и удали. Можешь вообще все мышкой сделать! Просто выдели ненужное, нажми на выделенном правой кнопкой мыши и выбери вырезать! Вуаля!
Попробуй посмотри множества
За неделю где-то прошёл укус питона, и практически сразу же начал пилить бота в телеге с аудиокурсами A.J. Hoge'a.
Одним словом это просто пиздец. Сначала знания и опыт прям рекой хуярили, т.к. приходилось гуглить ВСЁ, вообще ВСЁ, с банальными задачами обхода папок бывало боролся по нескольку дней. Обошёл таки, записал расположение папок и файлов во вложенный файл json, навалял мерзкого говнокода, но уже где-то через недели две, а может быть и три у меня вышел рабочий бот! Он мог даже генерировать клавиатуру и отвечать на на запросы со слэшем, и работало 90% минимального функционала.
Но потом я пошёл дальше. Закинул на бесплатный сервер heroku, чтобы это сделать проебался ещё 2-3 дня
Вуаля, он покрутился там ещё около недели пока я решал, чем заняться, почитывал книжки и смотрел курсы, но без практики сразу же появилось ощущение что делаешь что-то не так, и я снова решил продолжить.
Начал гуглить за MongoDB, решил прикрутить эту хуйню к моему боту, думал именно эту БД будет проще потому что она на основе json, но боже, как же я ошибался. Я же блядь спрашивал совета у анона здесь об организации данных в json файле, на что мне ответили "попробуй", и чтобы это "попробуй" перегнать в монгу на вменяемом уровне мне потребовалось ещё несколько ебучих дней мучений. И ещё день чтобы перегнать второй курс Power English от того же автора.
Короче с БД немного познакомился, ещё один плюс в копилку навыков.
Потом увидел что такое inlineKeyboard и как охуенно она могла бы вписаться в мой проект, и тут почалось...
На мой текущий, но рабочий говнокод я вылил ещё большие тонны поноса, я понял все мемы и шутки про говнокод, карточный домик, отловку багов, песенки про баги, это пиздец. Удивительное путешествие в мир страданий и красноглазия. При всём при этом я не пользовался ни логами, ни отладчиком банально потому, что не умею и поскорее хотел закончить бота. В общем всё ебать, на неделе закину это поделие на удалённый VPS, народ в телеге говорит, что стоит это не дороже 100р в месяц, пусть хоть с пол года покрутится потешит моё ЧСВ и вдруг даже кому-нибудь понадобится.
Это пиздец, на почти 400 строк говнокода я потратил ДВА месяца!
Не сказать, что они были бесполезными, но ДВА месяца!
Если конечно не считать ещё с десяток скриптов для загона\перегона данных через базы.
Пришла пора думать о следующем проекте и знакомиться с другими новыми технологиями.
Алсо, дохуя слышал, что после того как сделаешь первый проект его надо сразу выкладывать публично, писать об этом в блоге, открыть гитхаб и всё всё всё.
Что посоветуешь, Анон?
Приложу немного скринов моего поделия, может хоть кто ещё со мной порадуется.
Ну да, ещё в последний момент Пимслера решил добавить, т.к. вроде самый популярный курс.
За неделю где-то прошёл укус питона, и практически сразу же начал пилить бота в телеге с аудиокурсами A.J. Hoge'a.
Одним словом это просто пиздец. Сначала знания и опыт прям рекой хуярили, т.к. приходилось гуглить ВСЁ, вообще ВСЁ, с банальными задачами обхода папок бывало боролся по нескольку дней. Обошёл таки, записал расположение папок и файлов во вложенный файл json, навалял мерзкого говнокода, но уже где-то через недели две, а может быть и три у меня вышел рабочий бот! Он мог даже генерировать клавиатуру и отвечать на на запросы со слэшем, и работало 90% минимального функционала.
Но потом я пошёл дальше. Закинул на бесплатный сервер heroku, чтобы это сделать проебался ещё 2-3 дня
Вуаля, он покрутился там ещё около недели пока я решал, чем заняться, почитывал книжки и смотрел курсы, но без практики сразу же появилось ощущение что делаешь что-то не так, и я снова решил продолжить.
Начал гуглить за MongoDB, решил прикрутить эту хуйню к моему боту, думал именно эту БД будет проще потому что она на основе json, но боже, как же я ошибался. Я же блядь спрашивал совета у анона здесь об организации данных в json файле, на что мне ответили "попробуй", и чтобы это "попробуй" перегнать в монгу на вменяемом уровне мне потребовалось ещё несколько ебучих дней мучений. И ещё день чтобы перегнать второй курс Power English от того же автора.
Короче с БД немного познакомился, ещё один плюс в копилку навыков.
Потом увидел что такое inlineKeyboard и как охуенно она могла бы вписаться в мой проект, и тут почалось...
На мой текущий, но рабочий говнокод я вылил ещё большие тонны поноса, я понял все мемы и шутки про говнокод, карточный домик, отловку багов, песенки про баги, это пиздец. Удивительное путешествие в мир страданий и красноглазия. При всём при этом я не пользовался ни логами, ни отладчиком банально потому, что не умею и поскорее хотел закончить бота. В общем всё ебать, на неделе закину это поделие на удалённый VPS, народ в телеге говорит, что стоит это не дороже 100р в месяц, пусть хоть с пол года покрутится потешит моё ЧСВ и вдруг даже кому-нибудь понадобится.
Это пиздец, на почти 400 строк говнокода я потратил ДВА месяца!
Не сказать, что они были бесполезными, но ДВА месяца!
Если конечно не считать ещё с десяток скриптов для загона\перегона данных через базы.
Пришла пора думать о следующем проекте и знакомиться с другими новыми технологиями.
Алсо, дохуя слышал, что после того как сделаешь первый проект его надо сразу выкладывать публично, писать об этом в блоге, открыть гитхаб и всё всё всё.
Что посоветуешь, Анон?
Приложу немного скринов моего поделия, может хоть кто ещё со мной порадуется.
Ну да, ещё в последний момент Пимслера решил добавить, т.к. вроде самый популярный курс.
>За неделю где-то прошёл укус питона, и практически сразу же начал пилить бота в телеге с аудиокурсами A.J. Hoge'a.
Вот это охуенно. Тоже так хочу. Поковырять немного книжки и чтобы появилась какая-то задумка для реализации и практики. Вот я сижу ковыряю алгоритмы со структурами данных и прочей поебенью уже почти два месяца. А до написания чего-то рабочего руки не доходят - хз что вообще написать такое, чтобы не сильно обосраться от сложности на первое время и чтобы было интересно.
Заводи Github, заливай туда код и кидай ссылку ответом на этот пост. Уж больно хочется глянуть, что ты там на 400 строк наваял. И не стесняйся, все начинают с такой хуйни, кто-то в большей, кто-то в меньшей мере.
Комментарии и пустые строки, конечно же.
Да там чтоб на heroku запустить гитхаб нужен был. Ща обновил, там ещё один есть реп с ботом как он выглядел 20 дней назад.
https://github.com/IngvarListard/first
Файл HogeBot.py, конечно же. Остальное скрипты для решения попутных задач.
[[i for i in sub_b if i not in a] for sub_b in b]
Я ставлю n_jobs=1 и код выполняется за 4 секунды. Ставлю n_jobs=2 и код тоже выполняется 4 секунды.
https://ideone.com/B7KP3n
Помогите, пожалуйста, понять что неправильно. Почему n_jobs=2 не помогает ускориться?
Без разницы 1, 2, -1. Всё время 4 секунды. Но мне всё-равно надо добиться, чтобы n_job играл какую-то роль в скорости выполнения.
https://ideone.com/B7KP3n
Я код в ideone вставил,
и в том посте
>>4597
эту же ссылку на код оставил, только поторопился и словами не отметил, что это ссылка на код
Спасибо больше за участие, анон.
Я не знаю, что у меня не так, хочу спросить здесь, почему ускорения нет.
Мои догадки:
1) У меня либо нечему параллелиться, и нечему многопоточиться, хотя вроде если линейная регрессия предполагает n_jobs, то могло бы распараллелиться и размногопоточиться.
2) Либо где-то какой-то косяк. Например, ОС противится такой штуке как n_jobs.
Анон, расскажи поподробнее про деплой бота на хероке, пожалста.
инонки стрелочек поменяй да и выкладывай на гитхаб, а иначе заклюют
>Далее в pycharm проекте устанавливаю компилятор - /home/user/jython/bin/jython.py и получаю ошибку:
Оно вроде пытается его запустить из virtualenv
Jython в консоли REPL запускает? Если да, то это pycharm поебан, отключай все модули и пробуй еще раз. Компилятор, кстати, должен быть $(HOME)/$(JYTHON)/bin/jython (без .py)
>Насколько я понимаю на скорость тут использование tuple никак не повлияет,
Повлияет. tuple эффективнее по памяти и по скорости, поэтому рекомендованы к использованию везде, где только можно.
> только обеспечит гарантию неизменяемости
Гарантию неизменяемости чего? SOME_CONST[1] = "a" сделать будет нельзя, но SOME_CONST = ["a", "b", "c"] очень даже можно
Это был хуевый совет, никакого положительного эффекта тут не будет, т.к. основным хранилищем у тебя монга. Вариант получше - настоящая реляционная БД как основное хранилище, монга как кэш
Пиздец тебе и твоим пассажирам. В питоне GIL, полноценно многопоточность работает только для IO и сишного кода в интерпретаторе (== IO, лол), питоновская логика в разных потоках будет блочиться. Асинхронка тебе не подходит, остается многопроцессность (есть даже либа multiprocessing) или jython с потоками от JVM. Я долго и успешно юзал jython именно для многопоточности, отличный вариант, если не против 2.7
>Ну наверное сишные расширения даже профессиональному Питониситу далеко не каждому приходиться писать.
Лол, я по ходу профессиональный питонист+
>Но если ввести число 124 - выводится 'prime',
>потому что в текстовике есть число 1249.
Ну разумеется.
Тебе надо
1. организовать поточное побайтовое чтение с фильтрацией символов перевода строки, то есть превратить файл в одну огромную строку байтов.
2. организовать токенизатор, который будет читать байты №1 до табуляции и переводить их в числа, в зависимости от big\little endian (у тебя вроде big endian, так что number = sum(byte 10 * (len(bytes) - pos) for pos in bytes) ну ты понел)
3. Собственно сравнивать искомое число с очередным числом из №2
Это минимально-достаточное решение для твоей постановки задачи. На генераторах получится довольно эффективно по памяти, но затратно по IO для поиска многих чисел. Поэтому программа-максимум
4. Мемоизация предыдущих поисков в set и сохранение его в файл. Либо препроцессинг исходного файла сразу в set и потом уже поиск по нему, зависит, что является ограниченным ресурсом - память или io
Доступно объяснил?
Нет таких. Есть курсы, где _используют_ питон, но там а) препод часто мудак и тупо не может в питон, б) введение и азы программирования
Ебнутый вопрос, еще более ебнутые комменты. У тебя экзистенциальный кризис?
"Медленность" не из-за генераторов, "медленность" из-за того, как работает строковый join. Ему надо развернуть твой генератор в список и каждое число конвертнуть в строку. Это дохера выделений и освобождений памяти. В обычном for ты разворачиваешь это все и неявно оптимизируешь память, т.к. по сути делаешь работу оптимизатора. Ну и да, в мире уже не осталось пидарасов, не зашкварившихся об микробенчмарки..
Строки в динамических языках (или вообще в языках, где строки - это не просто цепочка байтов) работают медленно. Если ты парсишь ДНК, сворачиваешь белки и т.п. - так надо было и сказать, а то людям неводомек, чем тебя могут беспокоить 20мс на хер пойми каком коде. То есть, нужны быстрые строки? Запиливай свой сишный модуль, там можешь пидараситься хоть ropes, хоть сырыми байтами. Ты хотел потестить генераторы? Распарси 4Гб логов на генераторах и в лоб и сравни быстродействие, память и удобство.
Там расписано популярно всё очень. Врятли что-то серьёзное найдёшь. Жангогёрлс.
А ты няшный, феминный?
>Жангогёрлс
Спс
>А ты няшный, феминный?
Ну начинается ололо, а у тебя хата тачка есть? Мужик хоть немножко?
Думаю на коллекции порядка 1кк+ элементов генератор будет жрать заметно меньше памяти, хотя и работать медленнее.
Есть какой-то профайлер питоней памяти, посмотри им.
Блять. Поясни почему вообще кто-то его хвалит и говорит, что он быстрее и лучше? Это же анальный пиздец
То есть реально нет никакого смысла им пользоваться? Где тогда можно спиздить его сервер, чтобы писать без этого говна самому?
Перво наперво у тебя должно быть ПОРТФОЛИО.
курсить или нет это вопрос не котировок, а мотивации
если ты достаточно самостоятелен и целеустремлен то вперед, но потом не жалуйся что прошло три года и ты все знаешь, но до сих пор сосешь хуи забесплатно или пару копеечек
кароче если тебе нужен авторитет который похвалит тебя, то курси, если ты титан то нет
http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
>n_jobs : int, optional, default 1
>This will only provide speedup for n_targets > 1 and sufficient large problems.
>fit(X, y[, sample_weight])
>y : numpy array of shape [n_samples, n_targets]
>>>> y.shape
>(50000,)
Спасибо большое. А что же тогда делать? Увеличивать размерность игрека? y(50000, а тут чтобы вместо 1 было 10-100?)
Я просто думал, что 50 000 сойдет за лардж проблему
>А что же тогда делать?
Начать можно с изучения теории этой самой регрессии, наверное, чтобы понять, что ты вообще делаешь.
Треды нужны чтобы ждать что-то: пока придет ответ из БД, пока клиент наконец-то решит что он хочет от сервера и кинет запрос, пока какой-то левый процесс даст ответ.
А процессы нужны чтобы делать что-то: вычислять какую-то ебалу и пихать в общий queue результатов, сканировать файлы, двигать модельку унитаза туда-сюда.
Это так?
анон ну ты где заеабал, работа стоит же блядь
еще чуть чуть и придется реквестить каменты у мимо-анона
Спасибо за ответ, антоша
Попробую мультипроцессинг. Если не выйдет - научусь делать вставки на других языках, на пол года раньше чем планировал.
Я тут подумал, что если тебе просто модельку для проверки алгоритмов, то наверное можно не обращать внимание на GIL, жесткого реального времени ты все равно не добьешься, плюс еще и сборщик мусора. Просто учти, что у тебя будет странная такая многопоточность, когда потоки блочатся не из-за явного доступа к разделяемому ресурсу, а просто так (ВМ является разделяемым ресурсом).
Не так. С точки зрения ОС треды отличаются от процессов шареной памятью. Конечно, между процессами тоже можно пошарить участки памяти, но в тредах оно по умолчанию на весь неймспейс кроме тредлокалов.
В питонах сам язык не очень-то дружит с конкурентностью, представь сколько вычислительных расходов уйдёт если на каждый объект вешать мутексы. Легко это не решить, пытались и мутексами, и STM, всё работает, но медленно. Поэтому в питоне GIL и выполнять питонный код может только один из потоков. Я специально это выделил, потому что блокирующие сисколлы (запросы в БД к примеру) и некоторые сишные экстеншены (например какая-то долгая операция в numpy) таки отпускают GIL и дают другим потокам выполняться. Да-да-да, даже на трединге можно умудриться загрузить питоном+numpy все ядра.
С мультипроцессингом всё несколько иначе. С одной стороны нет ограничения в GIL, с другой требуется сериализация-десериализация передаваемых между процессами данных. А это отдельный класс ошибок и ботлнеков.
Но так твои слова подтверждают мои, не?
>в питоне GIL
Поэтому делать что-то тредами хуевая идея без numpy. Ведь если я разделю какую-то задачу на куски и раздам тредам, то все равно они будут делать свои минизадачи последовательно, а не одновременно. И в итоге я только проебу время на их создание. А вот ждать что-то
>запросы в БД к примеру
с ними нормально. Получается что-то вроде event loop'a, где GIL сам то смотрит главный тред (где я например считаю пи до последней цифры), то тот тред, что ждет ответа от бд, то тред, который ждет запрос номера цифры от бд.
Не совсем GIL, он сам по себе ничего не смотрит. Это простейший глобальный мьютекс. В случае тредов/процессов scheduler находится внутри ядра ОС. В случае эвентлупа у тебя ещё есть свой дополнительный для большого количества легковесных корутин.
Халп, питонач.
Требуется запустить экзешник, но сделать это под правами администратора. Как средствами Питона реализовать подобное решение?
Хорошо, я его убрал. Но в этом смысла нет. Он и раньше без этого тоже не запускался.
Олсо сейчас опять пишет, что viewport не существует.
Нет, блядь, у же есть директория с приложухой, оттуда импорти, а не из корня проекта
Хотя даже так это хуево, у тебя должен быть файл с урлами в каталоге, в котором описан роутинг и который ты уже должен подключать в корневом urls.py через include, лучше гайд свой прочитай еще раз или через что ты там джангу изучаешь
У тебя в каталоге viewport лежит файл rev.py
Тебе нужно импортнуть его в urls.py
Скорее всего это делается так у тебя
from viewport import rev
ДАЖЕ В КАЗУАЛЬНОМ ДЖАНГОГЕРЛС ЭТО ОБЪЯСНЯЕТСЯ, НЕ ТУПИ
[i for i in ["%s:"%i for i in string.ascii_lowercase] if os.path.exists(i)] ?
Ещё я заметил что эта дрочильня с %s удобна в коротких строках. Ее можно использовать вместо .format() или старье, не по ПЕПе, гробь кладбище пидор?
>Ещё я заметил что эта дрочильня с %s удобна в коротких строках.
Модные посоны на питоне 3.6+ могут делать форматирование строк указав префикс f
my_variable = 'op is'
f'{my_variable} faggot'
>а ассоциативный массив - tuple'м
>Ассоциативный массив — абстрактный тип данных (интерфейс к хранилищу данных), позволяющий хранить пары вида «(ключ, значение)» и поддерживающий операции добавления пары, а также поиска и удаления пары по ключу: INSERT(ключ, значение)
Ты хотел сказать dict'ом, но тут все правильно же, по семантике
А вообще гвидо и не такие штуки выдавал
>I meant to implement class methods but at first I didn't understand them and accidentally implemented static methods first. - Guido van Rossum
Ассоциативный там dict, tuple это иммутабельный список. Конкретно название list скорее всего призвано подчеркнуть разнородность содержащихся в нём элементов.
Боже, дай этому грешному дар выставлять правильно скобки
А, всё, сработало. Сервер висит при сохранении долго.
Ну всё, нахуй. Опять я устал от питона, пойду займусь фронтом.
Анону спасибо.
> рекомендованы к использованию везде, где только можно.
Та хуйня. Если у тебя 10 элементов, то похуй что использовать, никто числа дробить в пифоне не будет. Туплю используют чтобы иметь гарантированную иммутабельность (иногда очень хочется и полезно) и хешируемость.
Не надо на платные курсы и сертификаты не нужны. Всем похую на них ну, мне похую, когда я собеседую. Важно чтобы ты ответил на вопросы и у тебя был гитхаб чтобы посмотреть твой уровень. Да и то второе уже больше как бонус. Просто ответь адекватно на вопросы на собеседовании и всё, 300к в наносеку у тебя в кармане.
Где ты по ссылке pymongo нашёл, долбоёб?
Проверил на той папке, где лежат скрипты и куча всего другого, что туда кинул Пичарм при создании проекта, работает. Запустил как надо, на все диски. И сразу обвалилась вот с такими сообщениями. Анон, помоги, что не так? Как блять файлов нет. Я проверил, все лежит там где надо. Да и их не может не быть, ведь файлы в очередь кидает os.walk(), который дает только те файлы, что есть. Я не понимаю в чем прикол. В том, что я передаю walk'y, а он дальше передает byte строчки? Ну так это надо, чтобы файлы с ебанутыми названиями не обвалили программу, так мне Лутц сказал.
так как из-за процессов все распидорасило я подчеркнул ошибки в пэинте
>>5112
Я проебался с терминологией, извиняюсь. Значит вопрос на хуя мне нужен иммутабельный массив? Просто ни разу никогда не то что не пользовался такой хуйней, я даже ни разу слышал про ИММУТАБЕЛЬНЫЕ массивы. Ну т.е. в ЖС строки иммутабельны, во всяких там клошарах и хацкелях дрочат на эту иммутабельность, но вот в промышленном языке она нахуя? Че-то у меня никак не получается get my head around it, так сказать, agenda в голове никак не оформляется.
>Кто-нибудь может мне объяснить на кой хуй уебан ван россум назвал массив списком, а ассоциативный массив - tuple'м. Он дурак и не лечится?
ты шо-то попутал. списки в питоне - это списки, arraylist если точнее. tuple - это кортеж, а "ассоциативный массив" - надмозговой перевод. массив это непрерывный блок памяти, он не может быть ассоциативным, правильное название "словарь", "хэштаблица", но никак не "ассоциативный массив"
Это очень сильно зависит. Очень легко запилить список куда-то, где он будет выделятся на каждый вызов. Оптимизатор может не вынести список из заданного блока (например), т.к. будет ждать мутабельных действий. Семантически заменить конечно можно, но лучше все же завести привычку пользоваться кортежами.
В жс ключом словаря могут быть только строки. В питоне кортежи любой вложенности, числа, строки. Удобно.
> Очень легко запилить список куда-то, где он будет выделятся на каждый вызов.
Иии? Также ты будешь создавать тупл в том же самом месте.
> Оптимизатор может не вынести список из заданного блока (например), т.к. будет ждать мутабельных действий.
Воу-воу... какой ещё "оптимизатор"?
Приведи конкретный пример.
> во всяких там клошарах и хацкелях дрочат на эту иммутабельность
Там другое вообще. В кложе на этом построена транзакционная модель памяти. В хаскеле требуется миниминизация побочных эффектов, поэтому там нет понятия "присваивание", есть "связывание" и много правил по областям видимости. Это делается для разных штук, которых в питоне нет, типа автоматического доказательства корректности программ и т.п.
Ты можешь пока что считать, что кортежи - это оптимизация.
> Зато жс от этого быстрее и рантайм чуточку проще. Tradeoff кому что приоритетнее.
Жс используют только потому что он в браузере есть.
Он очень похож например на Lua. Языки спроектированные для встраивания очень похожи. Питон кстати встраивается намного хуже, хотя и его много где вставляют, просто изначально под это не создавался.
Что-то я не вижу связи между "встраиванием" и говном в жс (выше) и луа (индекс с 1, словарь и список — один объект, синтаксический оверхед, но при этом полноценные корутины из коробки (!)). Не, тут просто фрактал отсосного дизайна.
>А вообще
все крупные персоны страдают от невьебенного чсв, куда нам
>This does not seem to be shaping up to be a particularly big release,
and there seems to be nothing particularly special about it. The most
special thing that happened is purely numerology: we've passed the six
million git objects mark, and that is reason enough to call the next
kernel 5.0. Except I probably won't, because I don't want to be too
predictable. The version numbers are meaningless, which should mean
that they don't even follow silly numerological rules - even if v3.0
and v4.0 happened to be at the 2M and 4M mark respectively.
>But v5.0 will happen some day. And it should be meaningless. You have
been warned.
В таком случае вы можете пройти в любой из соседних тредов. А можно сразу нахуй, т.к. вас там туда же и пошлют. Не стоит благодарностей.
какой же ты умный
>назвал массив списком
массив, как правило, - контейнер для однотипных значений, занимающий связную область памяти
список в питоне - это массив указателей на элементы списка, поэтому в списке может быть что угодно
>, а ассоциативный массив - tuple'м.
tuple - это скорее record, запись
ассоциативный массив в питоне - это словарь
Шифт+дэлит по папке с проектом и погнал по новой.
Подходи основательно: раздели проект на manage/view/urls/models/scripts and etc., страницы ХТМЛ,для начала, раздели минимум на base(основной каркас)/header/main/footer(затем смотри, если какой-то элемент повторяется более двух раз на страницах - выноси и его в отдельный файл и папку).
Для начала этого хватит, что бы не всрать свой один проект.
П.с. Вообще, я вот удивляюсь, я всегда думал, что на фласке сложно сделать из проекта монстра, в котором хуй разберешься, но ты уже второй человек за неделю который это смог(первым был джун на работе надеюсь это не ты).
П.р.с. На pythonprogramming есть неплохой видеокурс о фласку.
Лол, спасибо. В моей херне можно разобраться, просто от мыленного скакания от задачи к задаче у меня в голове модель проекта сломалась к херам. У вас там на работке наверняка сложнее, и джуну вашему было где запутаться.
А у меня просто один app.py в нем вьюхи, рядом лежит папка templates и static, все просто блет, надо было рисовать схемку
Садишься на жоповозку и едешь к ним, если задание не могут выслать или по скайпу разговаривать не хотят.
А как ты будешь релизить ядро? Там постоянно что-то меняется. Причём у кого-то что-то сломается, а у кого-то никаких изменений. Он всё правильно говорит, что цифры ничего не значат.
Чё?!
Кто может оценить плз, это все ещё на уровне helloworld'a или я куда-то двигаюсь?
https://repl.it/repls/MuffledAbsoluteVariable
Добавь теперь не просто самый большой, а топ самых больших файлов. Небольшая наводка: https://github.com/gregbanks/python-tabulate
Следующее, попробуй заменить везде мультипроцессинг на трединг и сделать замеры производительности. А потом и третью версию добавить, без параллелизации, и тоже сделать замеры производительности.
Будь аккуратен: система кэширует последние обращения к файлам и каталогам. Можно попробовать сбрасывать системный кэш перед замером.
Ищет самый пухленький файл тебя
>>5421
Хорошо, как нибудь топ сделаю. Но зачем брать тот гит для вывода не понимаю. Там набор таблиц на все случаи, а мне и 1 любая подойдет, которую сам сделаю.
>>5425
Я уверен, что с процессами будет быстрее. Но попробую.
>сбрасывать системный кэш перед замером
А вот как это сделать я не знаю.
>>5427
>>5432
Что?
https://stackoverflow.com/questions/478340/clear-file-cache-to-repeat-performance-testing
Делай хотя бы по три замера для каждого случая.
>массив, как правило, - контейнер для однотипных значений, занимающий связную область памяти
Тебе матчасть надо подтянуть. "Контейнер для однотипных значений" - это сферический конь в вакууме, плюс еще и не правильный, т.к. в питоне списки гетерогенные. Это раз. Контейнеры имеют конкретную реализацию и базируются на определенных низкоуровневых структурах данных, а массив - это реально просто блок памяти, поэтому элементы из него достаются тупо адресной арфиметикой, массив - это всегда прямой доступ к памяти. Это два.
>список в питоне - это массив указателей на элементы списка, поэтому в списке может быть что угодно
Список в питоне - это arraylist, списковая структура на основе массива (а не просто массив), поэтому у тебя большая часть операций О(1), а не О(n).
Господи, за что ты таких мудаков создал? Блядь, ну ни о чём же спор, как вы заебали уже. Один назвал собаку догом, другой псиной. Теперь блядь выясняют тонкие различия между догами и псинами.
Раз и навсегда. В питоне НЕТ БЛЯДЬ МАССИВОВ. НЕТ АДРЕСНОЙ АРИФМЕТИКИ СУКА. Нет даже типизированных контейнеров. Нет твоего arraylist, где ты его высрал вообще? Есть list, всё нахуй, list, больше ничего, всё.
Речь шла о терминологии и о том, как неправильный перевод из пыхи перекочевал в другие сферы. Анон попытался объяснить, что нет, де, перевод правильный, но не сумел.
Вот и все.
>Раз и навсегда. В питоне НЕТ БЛЯДЬ МАССИВОВ. НЕТ АДРЕСНОЙ АРИФМЕТИКИ СУКА. Нет даже типизированных контейнеров. Нет твоего arraylist, где ты его высрал вообще? Есть list, всё нахуй, list,
https://hg.python.org/cpython/file/tip/Include/listobject.h#l22
Где теперь твой бог, а?
Не обязательно, но можно и так
Ты давай, поясни лучше за свои высеры:
>Контейнеры имеют конкретную реализацию и базируются на определенных низкоуровневых структурах данных
>массив - это всегда прямой доступ к памяти
>Список в питоне - это arraylist, списковая структура на основе массива
И чем это отличается от:
>массив, как правило, - контейнер для однотипных значений, занимающий связную область памяти
>список в питоне - это массив указателей на элементы списка, поэтому в списке может быть что угодно
кроме гуманитарного способа изъяснения.
Или ты так, пару слов из поста увидел в неприятной комбинации и запостил не читая?
Никак. Stdin это не файл на диске, это поток. Прочитал что-то, всё, этого уже больше нигде нет.
>>массив, как правило, - контейнер для однотипных значений, занимающий связную область памяти
>>список в питоне - это массив указателей на элементы списка, поэтому в списке может быть что угодно
В этих двух репликах можно приебаться к каждому слову в буквальном смысле. Не "как правило", а всегда, не "контейнер", а участок памяти, не для "однотипных значений", а только для примитивных численных типов (расположишь экземпляры класса в смежных областях памяти?). Список в питоне - это не массив указателей, а ADT (привел ссылку), для массивов есть отдельный модуль (привел ссылку, import arrays). Заявить, что там под капотом мол массив используется - так ты так все ADT к массивам сведешь, хуле, основной примитив самой популярной архитектуры. Схуяли первая реплика противоречит второй, так "однотипных" или "может быть что угодно"?
> Или ты так, пару слов из поста увидел в неприятной комбинации и запостил не читая?
Вообще-то эти аспекты обсуждаются на любом интервью и не знать\не отметить отличий между типами, структурами, ADT и деталями их реализации - это часто фейл. Это классика, блять, это знать надо.
Не понимаю, о чем тут спорить. Ну не знал, делов-то, пошел почитал и теперь знаешь.
>массив это участок памяти
Участок памяти — это обычно диапазон адресов без определённого типа, тот самый void. Массив это уже куда больше чем участок памяти.
>только для примитивных численных типов
С чего вдруг? Массив структур, указателей, да всего что имеет константный размер, хоть блоков по 1000 байт.
>расположишь экземпляры класса в смежных областях памяти?
Легко. Если у класса фиксированный размер (чаще всего так и есть).
>ADT
Контейнер это и есть ADT. Конкретно кстати твой import arrays это тоже контейнер. Всё в питоне так или иначе pyobject, содержащий полезный груз.
>Заявить, что там под капотом мол массив используется
Используется. Только так можно получить O(1) доступ по индексу. Ну ещё амортизированно в хэштаблице будет O(1) как в этих ваших php/lua/js. Однако абстракции здесь нет, доступные методы и индексы сразу же раскрывают детали реализации.
>обсуждаются на любом интервью и не знать\не отметить отличий между типами, структурами, ADT и деталями их реализации - это часто фейл. Это классика, блять, это знать надо.
Я уже понял что в нормальных интервью такие вопросы надо обходить за километр. Перегруженные термины, мешанина из сотни языков, доебаться бестолку можно до чего угодно. Прям аж интересно послушать, а назови-ка отличия между типами, структурами, ADT?
>Участок памяти — это обычно диапазон адресов без определённого типа, тот самый void.
Совершенно верно, но т.к. у нас числовые машины, то лежат там числа, в т.ч. адреса. И еще одно важное свойство: можно получить нужный элемент с помощью фиксированной формулы вычисления адреса, т.н. адресной арифметики.
> Массив это уже куда больше чем участок памяти.
Чисто по определению это уже не массив, https://en.wikipedia.org/wiki/Array_data_structure.
Если ты хранишь хоть что-то, помимо адреса первого элемента и длины - это уже ADT. Пусть примитивное, но ADT.
> >только для примитивных численных типов
> С чего вдруг? Массив структур, указателей,
В теории. На практике там выравнивания, но ок, структуры побайтно можно, это я провтыкал. Классы уже не расположишь, т.к. в Питоне они выделяются в куче, а в С++ замануха с методами, так что придется очень сильно повозиться.
> Используется. Только так можно получить O(1) доступ по индексу.
Так там еще куча других операций за O(1), которые в массивах O(n), что как бы намекает, что там что-то посложнее массива. Смотрим в сорсы, и действительно - там dynamic array list (adt, который динамически меняет длину, и хранит связные элементы в смежных ячейках памяти). Массивы используется много где, деревья на массивах можно сделать, но мы ведь не считаем, что деревья - это массивы.
> Я уже понял что в нормальных интервью такие вопросы надо обходить за километр.
Сложно сказать. Меня чего только не спрашивали, однажды объяснял, как gc работает, однажды давали вопросы с brainbench, там спрашивалось, как копируются __doc__ в декораторах помимо всего прочего. Случай не единичный, компании были крупные, хорошо всем известные. Но конечно вопросов по алгоритмам и структурам данных было на порядки больше. Мешанина кстати только в русском, т.к. array и list спутать нейтиву вообще невозможно.
> Прям аж интересно послушать, а назови-ка отличия между типами, структурами, ADT?
Тут надо ловить контекст вопроса. В зависимости от контекста "тип" - это либо понятие из compsci (самостоятельная или зависимая категория значений + множество определенных над ними операций), либо как характеристика размера и структуры области памяти (машинные типы). Структуры - это частный случай №2, ADT - это случай №1 без спецификации их реализации. Для более четкого определения мне моего русского уже не хватает, плюс я все же инженер и ADT знаю в объеме "Введения в алгоритмы" Кормена, не более. Ну и те, что на собеседованиях спрашивают, само собой.
>Участок памяти — это обычно диапазон адресов без определённого типа, тот самый void.
Совершенно верно, но т.к. у нас числовые машины, то лежат там числа, в т.ч. адреса. И еще одно важное свойство: можно получить нужный элемент с помощью фиксированной формулы вычисления адреса, т.н. адресной арифметики.
> Массив это уже куда больше чем участок памяти.
Чисто по определению это уже не массив, https://en.wikipedia.org/wiki/Array_data_structure.
Если ты хранишь хоть что-то, помимо адреса первого элемента и длины - это уже ADT. Пусть примитивное, но ADT.
> >только для примитивных численных типов
> С чего вдруг? Массив структур, указателей,
В теории. На практике там выравнивания, но ок, структуры побайтно можно, это я провтыкал. Классы уже не расположишь, т.к. в Питоне они выделяются в куче, а в С++ замануха с методами, так что придется очень сильно повозиться.
> Используется. Только так можно получить O(1) доступ по индексу.
Так там еще куча других операций за O(1), которые в массивах O(n), что как бы намекает, что там что-то посложнее массива. Смотрим в сорсы, и действительно - там dynamic array list (adt, который динамически меняет длину, и хранит связные элементы в смежных ячейках памяти). Массивы используется много где, деревья на массивах можно сделать, но мы ведь не считаем, что деревья - это массивы.
> Я уже понял что в нормальных интервью такие вопросы надо обходить за километр.
Сложно сказать. Меня чего только не спрашивали, однажды объяснял, как gc работает, однажды давали вопросы с brainbench, там спрашивалось, как копируются __doc__ в декораторах помимо всего прочего. Случай не единичный, компании были крупные, хорошо всем известные. Но конечно вопросов по алгоритмам и структурам данных было на порядки больше. Мешанина кстати только в русском, т.к. array и list спутать нейтиву вообще невозможно.
> Прям аж интересно послушать, а назови-ка отличия между типами, структурами, ADT?
Тут надо ловить контекст вопроса. В зависимости от контекста "тип" - это либо понятие из compsci (самостоятельная или зависимая категория значений + множество определенных над ними операций), либо как характеристика размера и структуры области памяти (машинные типы). Структуры - это частный случай №2, ADT - это случай №1 без спецификации их реализации. Для более четкого определения мне моего русского уже не хватает, плюс я все же инженер и ADT знаю в объеме "Введения в алгоритмы" Кормена, не более. Ну и те, что на собеседованиях спрашивают, само собой.
>"Контейнер для однотипных значений" - это сферический конь в вакууме, плюс еще и не правильный
Я хотел сказать, в массиве принято хранить множесто однотипных значений. Однотипных в смысле разрядности. То есть технически можно, конечно, адресовать и слово и байт, но это уже на любителя.
К питону это не имеет отношения, т.к. у питона все заворачивается в PyObject,
>Список в питоне - это arraylist, списковая структура на основе массива (а не просто массив)
Раз ты взялся тут раздавать рекомендации насчет подучить матчать, то будь добр, расскажи, что такое array list. И чем он отличается от динамического массива.
И вообще, ты не из джавы пожаловал?
>расположишь экземпляры класса в смежных областях памяти?
Если их сериализовать,то почему нет.
Если переписать управление памяти питона, то почему нет.
>Схуяли первая реплика противоречит второй, так "однотипных" или "может быть что угодно"?
Потому что первая реплика говорит о массивах.
Вторая реплика говорит о том что список - это не массив. Теперь понятно?
>Список в питоне - это не массив указателей, а ADT
Ну так в питоне все объект, а значит, PyObject. Это подразумевалось.
>как извлечь
file.read, readline, readlines?
>как заменить строки в файле.
Записать их в новый файл. Вероятность, что переведённая строка окажется с тем же размером, что и исходная, а уж тем более несколько таких во всём файле, примерно 0, а значит и просто перезапискать кусок файла не вариант.
https://repl.it/repls/RareSickSystemsanalysis
Ели файл большой и весь читать в память не вариант, используй способ из варианта 2.
>array и list спутать нейтиву вообще невозможно
А я так не считаю:
>Lists are typically implemented either as linked lists (either singly or doubly linked) or as arrays, usually variable length or dynamic arrays.
>dynamic array list
Вот здесь уже list лишний, это называется просто dynamic array. И это не ADT, а структура данных, тот же array с выделенным запасным пространством и реаллоками на изменения размера. Разница между ADT и структурой данных в том что в первом случае опеределён некий интерфейс как он виден со стороны пользователя, но неизвестна реализация; во втором разговор уже именно о реализации.
>спрашивалось, как копируются __doc__ в декораторах
Лол. Да просто же атрибут функции пишется. Можно даже __code__ заменить что может быть полезно в моках кстати.
>надо ловить контекст вопроса
Я конечно полез википедию, но мне нравится там опередение:
>data type is a classification of data which tells the compiler or interpreter how the programmer intends to use the data
Да и категоризация вполне ясная: примитивные машинные и не очень int float bool bignum, композитные структуры строки массивы юнионы объекты, особые указатели функции. ADT это всякие стеки, хэшмапы, деревья, ну оно и понятно, просто типы более высокого порядка, обычно задающиеся всякими дженериками/шаблонами.
Хотя вот формально примитивными называются встроенные типы. Для питона тот же list, dict — встроенные и каждый с конкретной реализацией, можно назвать примитивными не-ADT реализация-то одна? Условность на условности.
Лутц
У меня тонкость была в том, что интервьюировали выпускники всяких там Калтехов и им подобным, а их ебали compsci все 7 лет. Поэтому когда они видят неебаного, то хватают свои ADT и слетаются прям стаей, поэтому все эти ньюансы приходилось нарабатывать так, чтобы от зубов отскакивало. В рамках этого тредика это нерелевантно, ты анон неглупый, дальше сам все найдешь.
Это копия, сохраненная 13 июня 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.