Предыдущий >>1604249 (OP)Литература:Автоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Кто может, залейте её на ЯД к остальным.Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUqТоже книжки: https://yadi.sk/d/tArKKuQu3KejuqБольше книжек: https://yadi.sk/d/H-00n-UG3RSQemАнон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрацииhttps://dumpz.org/ - можно постить листинги, не требует регистрацииhttps://pastebin.com/ - для листингов, регистрация не обязательнаhttps://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудитьhttps://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться#######################################ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 годаВопросы-ответы:А стоит ли читать Лутца, том номер N?Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.Стоит ли читать %книга_нейм%, если там питон версии 2.х? Нет, не стоит. 100% есть более актуальная книга, для пистона 3.хА что ещё можно читать? Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.htmlЕсть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом? Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4А как учить джангу? Нахожу только книги по джанге 1.х У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.Шаблон шапки: https://dumpz.org/bqyrfCbEPA9t
Двач, помоги, я уже реально заебался и не понимаю что делать, есть 2 питон файла, в одном функция, пытаюсь импортировать, пишет хуй, добавил __init__.py все равно хуй, пайчарм импорт красным подсвечивает, причем даже примеры которые работают, которые я брал из интернета, не понимаю что делать
Dive into Python 3 не сильно устарела? В 2009 году была издана, Python 3 тогда только релизнулся. С тех пор принципиальных изменений не было?
Почему дескриптор надо определять именно внутри класса? Почему не выходит определить его внутри __init__?
>>1616454Принципиальных вроде как нет, но, например, завезли f-string, и после этого пользоваться всякими .format не хочется. Словари стали упорядоченными более или менее, OrderDict уже как бы и не особо нужен. Датаклассы какие-то прикрутили, альтернатива namedTuple, как я понял(а я не понял). И всякие такие мелочи. Ну вот читаешь ты свою книгу, а потом открываешь какой-нибудь код и видишь непонятные колдунства, которых в книге не было, оно тебе надо?
>>1616828Да меня скорее раздражает тот факт, что красиво уложиться в 80 колоночек не получается, особенно если используешь аннотации для типов.
>>1616834А зачем укладываться в 79 символов? Это было актульано лет 30 назад. Сейчас норма 120 символов.
>>1616847ну кстати в этом есть смысл. с всеми аннотациями и кучей переменных крайне сложно стало влезать
В чём принципиальная разница между парсингом regex'ами и инструментами, вроде Beautiful Soup или Xlml? Регексы считаются более медленными?
>>1616904"В интернете" написано >Limit all lines to a maximum of 79 characters.https://www.python.org/dev/peps/pep-0008/Так что спроше ещё раз, где прочитать про 120?
>>1616964>Created: 05-Jul-2001Сформулируй свой вопрос и найди более одного источника, желательно датированного не каменным веком.
>>1616988Какой источник лучше пепа может быть? Ответ на стак оверфлоу? Пост на форуме питона нижних васюков? Скриншот из дискорда с твоим другом?
>>1616996Если ты хочешь строго следовать рекомендациям по написанию кода 2001 года, то никто не в праве тебя останавливать.Только не тащи нам сюда потом свои односимвольные переменные, а то как же, больше 80 же НЕЛЬЗЯ!
>>1617034intellij по умолчанию 120 символов, например.https://youtu.be/wf-BqAjZb8M?t=260Вот тут разработчик ядра Python говорит что считает 90 оптималным значением.Какой вывод можем сделать? Длина строки решается один раз в начале проекта и вся команда этому следует. Брать больше 120 не нужно, так как в гите как раз 120 блина строки и будут переносы.
>>1617061>intellij по умолчанию 120 символов, например.Так, в иде на яве для программирования на яве 120 умолчание, при чём тут, спрашивается, питон?>Вот тут разработчик ядра Python говорит что считает 90 оптималным значением.Во-первых, даже близко не 120. Во-вторых, говорит, а не пишет где-то в документации. Видео на ютубе, даже с конференции, всего немногим лучше ответа на стаковерфлоу. >так как в гите как раз 120 блина строкиНа гитхабе ты хотел сказать. Подстраивать стиль написания кода под конкретный сайт, это как в 2000 подстраивать стандарт mp3 музыки под воспроизведение на myspace.Так что? Ты где-то прочитал про 120, или ты так агрессивно отстаиваешь значения по умолчанию в intellij?
>>1617085PyCharm основан на intellij, вот причем тут петон.И да, повторюсь, ты можешь строго следовать устаревшим рекомендациям, главное чтобы код получался элегантным. Если у тебя получится - отлично! Но судя по твоему первому скриншоту - пока не очень выходит.120 это общепринятое число для других языков. Какую нахуй документацию я тебе должен показать?
ПИТОНАЧ, как мне сохранить все "match_id" в переменной? Если делаю ретюрн, то выводится только последний матч
>>1617197>Но судя по твоему первому скриншоту - пока не очень выходит.Это не мой скриншот.>120 это общепринятое число для других языков.Это ты тоже по видео на ютубе узнал, или колоночки на каком-то сайте посчитал?> Какую нахуй документацию я тебе должен показать? Да хоть какую-нибудь. Пока ты пришёл, бурлескнул про то, что "сейчас норма 120", а когда я тебя спросил, где ты об этой норме узнал, ты показал свою снобскую рожу и отправил меня искать "в интернете". После пары постов рассказов о том, что официальные рекомендации устарели, выяснилось, что "в интеренете" — это надо было длину строки по умолчанию на гитхабе и в одном IDE, на котором пайчарм основан, за золотой стандарт принять. Действительно, как это я сразу не нашёл такую очевидную и доступную рекомендацию "в интернете", и не начал мгновенно по ней действовать. Про видео, которое ты притащил, даже не говорю, там никакими 120 даже и не пахнет.
>>1617197> 120 это общепринятое число для других языков.У меня на работе стандарт 180. Не питон. Не всегда получается уместиться из-за некоторых нюансов оформления кода.
>>1617210Берёшь свой лист, или в чём ты там хочешь их хранить, с айдишниками и делаешь к нему .append(match_id)
>>1617222гениально, че я додумался только, когда спросил:?) Я еще список создал в цикле и думал че каждый раз обнуляется щащащ
Как лучше делать?1.def foo(x):if x is None:return 0else:return 12.def foo(x):if x is None:r = 0else:r = 1return r
>>1617229Можешь делать ретерн генератора списков. Цикл на обязательно делать. >>1617268Просто return int(x is not None).
https://pastebin.com/kLWj5LeWЧЯНТД? Почему функция для определения ключа для максимального значения в словаре работает корректно, а для минимального - нет? Как-то контринтуитивно для моей хуёвой интуиции.
>>1616422>>1616393Забыл прикрепить скрины, понял, что если писать from %файлнейм% import %скриптнейм%, то работает
>>1616384 (OP)Где в Джанге есть мини-туториал по обычному менеджменту данных типа CRUD? Столкнулся с тем, что в приложении приходится много создавать, модифицировать и удалять записи. Я в принципе могу это сделать, но в данный момент я нахуярил кучу view в стиле new_product (для создания записи), mod_product (для изменения), del_product (для удаления). Выглядит уебищно и громоздко, если ничего не сказать. Как это сделать изящнее?
>>1617302Ну не совсем. min/max от словаря, по крайней мере, возвращает ключ, не соответствующий максимальному значению в словаре. Похоже, что min(dct) и max(dct) вообще равны min(dct.keys()) и max(dct.keys()).
>>1617295Через функцию указанную в key по сути формируется новый массив из него выбирается минимальный максимальный. У тебя для каждой функции получается условно [0, 0, 0, 0, 1, 0], для max это работает, для min просто берется первый ноль
>>1617323Понял, о чём ты. Спасибо. >>1617324А вот это супер, совсем забыл о d.items(). Спасибо и тебе.
У нас есть двоичный numpy-массив размерностью NxM и единичный массив произвольной длины: 1xK, как записать данные из этого единичного вектора в двоичный массив максимально годным способом? Если 2D массив окажется заполненным, а в единичном векторе еще остаются данные (может быть и такое), то операция все равно сличается завершенной. Если данные в 1xK векторе закончатся раньше чем массив заполнится, то оставшиеся пробелы в нем надо заполнить неким DEFAULT значением
>>1617485Для начала: как бы записать эти данные в двумерный массив? Допустим, в этом векторе 1xK данных всегда ровно хватает чтобы заполнить все NxM ячеекЭто ж numpy, поэтому полагаю надо использовать срезы или страйды (которые я в душе не ебу как юзать). Голый последовательный перебор значений в одномерном векторе при помощи цикла for нерационален, т.к. в перспективе таких записей придется делать дохрена
>>1617489>Допустим, в этом векторе 1xK данных всегда ровно хватает чтобы заполнить все NxM ячеекnp.reshape(K, (N, M))
>>1617489>Если 2D массив окажется заполненным, а в единичном векторе еще остаются данные (может быть и такое), то операция все равно сличается завершенной. >срезыnp.reshape(K[:N*M], (N, M))А другой вариант мне лень думать.
Приветик, хочу написать скрипт, парсящий udp/tcp конфиги для openvpn и сортирующий их по странам/пингуСобственно данные спарсил, получилось более 3к записей. И тут у меня встал вопрос; а каким способом это все проверять?Неужели придется отдельно скачивать каждый файл и вытаскивать из него ip сервера для пингования? Или может кто-то подскажет более элегантный вариант?https://pastebin.com/nRnr3dfx
Анон, помоги разобраться, я невообразимо туплю.Короче накидал примерную ситуацию:import threadingfrom queue import Queuedef myfunc(): while True: num = queue.get() print(num) queue.task_done()mylist = []for x in range(10): for i in range(10): for i in range (10): mylist.append(i / 10) queue = Queue() for t in range(3): t = threading.Thread(target=myfunc) t.setDaemon(True) t.start() paths = [] for i in mylist: queue.put(i) queue.join() print(len(threading.enumerate()))в итоге получается 31 тред, вместо желаемых мной 3 (ну это понятно, эта штука в цикле), но как сделать иначе, чтобы новые треды не плодились и при этом все треды при деле были?
>>1617497Да, катитНе врубил правда, как и зачем вот это работает: >>1617493После 1го решения можно взять срез из одномерного вектора как k = k[:N*M] и уже проводить операцию np.reshape(k, (N, M))
>>1617507>Не врубил правда, как и зачем вот это работает>np.reshape(K[:N⛧M], (N, M))Сразу делает срез и с ним работает. Решейп не инплейс, так что зачем отдельной строкой брать срез заранее?>После 1го решенияНе очень понял, первое решение >>1617491, если len(K) == N⛧MВторое >>1617493, если len(K) > N⛧MТретье >>1617497, если len(K) < N⛧M
>>1616384 (OP)Джавист на связиПонял, что не могу нормально вкатиться в Питон из-за излишне высокого интеллекта. Парню, прогающему на статическим типизированном языке и соблюдающему святые заповеди ООП банально не выйдет адекватно прогать на херне вроде Питона или ЖС. Печаль
>>1617529Все так. Бывает надо написать что-то по быстрому, и питон это просто типа школьной арифметики 2+2. Мозг даже не успевает хоть чуточку напрячься. Ни для чего серьезного явно не подходит. Мимо плюсист.
>>1617529> ДжаваВ твоей джаве всё может нахер полететь из-за неправильной строчки в xml, а генерики лишь приятный сахарок над кастингом в Object и обратно.
>>1617579>Все так. Бывает надо написать что-то по быстрому, и питон это просто типа школьной арифметики 2+2. Мозг даже не успевает хоть чуточку напрячься. Ни для чего серьезного явно не подходит. Мимо плюсист.
>>1617534Блин, и правда. просто я не очень умный Ладно, на деле оказалось, что необязательно прям сохранять файл, чтобы его просмотреть.Осталось придумать, как этот говнокод ускорить и/или прикрутить многопоточность.
>>1617641Можно попробовать с помощью ThreadPoolExecutor.Как-то так https://dev-gang.ru/article/kak-sdelat-kod-python-parallelnym-s-pomosczu-3h-strok-x32tjod5s6/
>>1617529При желании на питоне можно писать как на джаве, просто этого делать не нужно.Если программировать на жабе сложнее, то ты легко должен быть способен писать на языке проще. Плюшки питона типа динамической типизации делают его скорее более гибким. Дело скорее в том, что твой высокий интеллект видимо недостаточно высок, чтобы воспользоваться чем-то новым для тебя. Или привык, что когда пишешь из говна и палок, компилятор найдет все твои косяки и сообщит о них?Как гуру ооп может пояснишь, почему в твоей жабе предпочитают использовать делегирование вместо наследования? При том что последнее одна из тех самых твоих пресвятых заповедей ооп.
Прочитал пост "джависта" выше и что-то вспомнил, недавно смотрел запись с какой-то конференции по пайтону, там выступал товарищ то ли из гугла, то ли из фейсбука, то ли из инстаграма, то ли откуда - не суть, но суть в том, что по его рассказам как минимум в инстаграме уже усиленно перепиливают кодовую базу на питоне под статическую типизацию. Тащемта, как это обычно бывает, от больших компаний мода быстро расходится по индустрии, так не станет ли пайтон статически типизируемым через пару годков?
>>1617647Ооо, спасибо. Очень помогло.>>1617650>>1617648Да нет, 1к урлов вполне работает без прокси, просто со слипом на 0.1-0.2 мс между каждым запросомправда в итоге получается не 30 сек канеш
>>1617674Блядь, я дебич, транслэйт не поставил зависимости, а я забыл активировать венв и понял это только на скрине.
>>1617675Сука, это говно ещё и не переводит нормально, я же сам смотрел код, он точно обращается к гугл транслэйту, почему у него тогда результат не такой, как в обычной веб форме
Почему работает этот декоратор, если оригинальная функция принимает только позиционные аргументы, а wrapper и позиционные, и ки-ворд?
>>1617680>>1617682Хотя, это, наверное, потому что в результате нету kwargs'ов. Но тогда вообще можно ли это назвать декоратором?
>>1617678Пиздец, поставил другую библиотеку, а она переводит по третьему, не так как та и не так как в веб форме, что за пиздец....
>>1617684Дениска, ты главное не переживай так. Не думаю, что тебе критично иметь перевод точно такой же, как в вебе, так что юзай то, что удобнее и клади болт
>>1617750Ну знаешь, возможно это именно с моим пробным десятком текстов, но в веб форме перевод солидно лучше, прямо очень заметно. Я собираюсь ещё попробовать две вещи: разбивать текста на отдельные предложения и апи яндекс переводчика.
>>1617649>Или привык, что когда пишешь из говна и палок, компилятор найдет все твои косяки и сообщит о них?Всегда так делаю, не пользоваться этой функцией языка, всё равно, что принципиально не пользоваться, например, декораторами.
>>1617680Всё в порядке, а почему это не должно работать? (звёзды убираю)@taskdef foo(args):____pring(args)эквивалентноfoo = task(foo)task возвращает новую функцию wrapper, поэтому дальше, когда ты пишешьfoo(a, b=100)это уже будет реально вызовwrapper(a, b=100)где-то в недрах которого вызывается исходная fooГлавное, что нужно запомнить про декораторы, это что@decodef foo(a, k):____passабсолютный эквивалент (синтаксический сахар)foo = deco(foo)понимая это ты легко поймёшь всю логику кода, почему и как это работает.
>>1617649Кто тебе сказал что наследование - святая святых? Инкапсуляция это святая святыхКогда ты хуяришь наследование только чтоб обьеденить части кода (при том что часть методов суперкласса в принципе не юзаются), ты даун. Без вариантов
>>1617655? Что значит "под статическую типизацию"?Typing это давняя фича Пистона, кто не юзает ее в крупных проектах еблан априори
>>1616384 (OP)Шалом, правоверные. Вкатился в питон, почитываю Лутца, прошёл курс на курсере, но не могу понять, что читать/смотреть/проходить чтобы вкатиться в датасайенс. Нашёл на курсере один курс от яндекса/мфти, так там какая-то хуйня вместо подачи материала и задания на первой неделе уровня устанавливаем питон, отсылаем скриншоты сокурсникам.Куда воевать то ёпт.
>>1617306Бамп вопросуНаплодил на каждую операцию с данными отдельный view, отдельную форму и отдельный template. Хелп, как рефакторнуть этот кал
>>1617791Typing уродство обычно, в том виде, как в питоне уж точно.Уродливый громоздкий негибкий синтаксис, какой-либо оптимизации реальной не происходит и реальной проверки рантайм. Хотя можно втыкать костыли, оформить проверку через декоратор, например, и включать для отладки нужных функций. Ты как бы получаешь уродство C++, при отсутствии каких-либо плюсов языков вроде C++/Java.Но можно использовать для декларирования функций в разных API, там оправдано немного изуродовать код.Статическая типизация тоже уродство с большими ограничениями. В принципе нормально, что переменная может быть разных типов, это называется полиморфизм. Статическая типизация этого не позволяет, и это проблема.Хотелось бы гибкого подхода, чтобы в коде функции можно было бы декларировать переменные каким-то типом, а можно любым типом, и чтобы в рантайме экспешен возниках, если ты пытаешься тип переписать. По идее это несложно было бы поддержать, но нет.
>>1617851>Хотелось бы гибкого подхода, чтобы в коде функции можно было бы декларировать переменные каким-то типом, а можно любым типом, и чтобы в рантайме экспешен возниках, если ты пытаешься тип переписать. По идее это несложно было бы поддержать, но нет.Пчел...
У меня есть 10 чисел, нужно найти самое большое. Применяю функцию max(), окей. А если нужно найти два самых больших числа, что делать?
>>1617306В джанге есть generic views, если у тебя примитивный круд, то должно сгодиться. Можно поискать какие-нибудь приложения-генераторы вьюх для джанги. Если тебе сойдет rest, берешь Django Rest Framework, там есть свои generic views, с ними вьюха в три строки. Где-то видел сайт django builder или как-то так, ты вводишь модель, а он тебе к ней все остальное генерирует. Можешь свой обобщенный класс вью написать, отнаследовав его от стандартного.
Аноны, есть пикрил изображения с цифрами, как лучше сделать классификацию цифр?Конечно же без нейронок и прочего говна, ведь цифры довольно схожи между собой.
Слыхал, что multithread программирование это антипаттерн. Насколько это близко к правде, особенно касательно Питона?
>>1618056Провести горизонтальные и вертикальные линии, посчитать количество пересечений? Помню была такая лаба в универе по теме распознавания образов
>>1618064Это в первую очередь из-за опасности непредсказуемого поведения, когда потоки имеют общие данные, но в принципе можно, если ты его избегаешь, погугли Thread-safety и как оно достигается. В питоне есть GIL, поэтому одновременная работа нескольких потоков невозможна и часть проблем отпадает (как и преимуществ). В питоне его можно использовать для любых блокирующих операции, если необходимо, что бы программа в это время делала и другие действия.
>>1618064Смотря для каких целей. Многопоточные программы обычно необходимость, так ты можешь обрабатывать блокирующие операции и полноценно использовать ресурсы.Паттерны скорее в том, как работать в многопоточных приложениях, что использовать, что нет. Антипаттерн использовать мютексы для блокировок, например, обмен данными лучше делать через очереди и некоторые фишки есть.В питоне, обычном, многопоточность ущербная и применение сильно ограничено из-за этого.
Уебки, люблю вас :)Я опять вышел на связь, помогите с проблемкой, плз.Есть такой скрипт: https://pastebin.com/0qMggbi8Нужно, чтобы созданные треды (3 штуки) в цикле, который идет ниже, переключались на другую функцию. Они начинают с таргетом myfunc, как переключить их на myfunc2?
Такое, конечно, вряд ли где-то используется, но можно ли написать декоратор лябмда-функцией, и чтобы он и args и kwargs перехватывал? По образцу пикрелейтед.
>>1618197Ты формулируешь вопрос настолько же криво, насколько пишешь код. Хуй поймёшь, чего ты хочешь.Попробуй запустить два цикла, в одном ты три треда myfunc запускаешь, в другом два треда myfunc2. Тогда обе функции будут кушать из одного треда.
>>1618228Да бля, нет же.Хули не ясно? Нужно изменить таргет уже созданных тредов в цикле, треды должны обрабатывать очередь только по одной функции. Алгоритм такой:- объявил N функций- создал 3 треда- первый проход цикла - набил очередь, треды работают с очередью - изменил таргет для созданных тредов - треды обрабатывают очередь через новый таргет- второй проход цикла - набил очередь, треды работают с очередью - изменил таргет для созданных тредов - треды обрабатывают очередь через новый таргет
Не могу разобраться с индексом, нужно вывести сколько раз в списке встречается число. Помогите пожалуйста. В чем ошибка?a = [int(i) for i in input().split()]n = int(input())for i in a: if n == i: print(a.index(i), end = ' ')Вводим:5 8 2 7 8 8 2 48Получается:111, а нужна 1 4 5
>>1618292>print(a.index(i), end = ' ')DescriptionPython list method index() returns the lowest index in list that obj appears.Ты хоть читай, чем пользуешься.
>>1618292Все правильно, ты берешь индекс 8, он тебе возвращает ближайший. То что эта 8 из конца листа - нихуя не значит.
>>1618299>>1618301>>1618302>>1618306Спасибо. Я нихера так и не понял правда, просто по курсу enumerate еще не было. Поэтому старался делать в рамках изученного.
>>1618362>Я нихера так и не понял правда.index() не та функция, которую ты должен использовать. Она делает совсем не то, что ты думаешь она делает. Если хочешь совсем тупо, то делай тупыми методами:a = [int(i) for i in input().split()]n = int(input())for i in range(len(a)):if n == a:print(a, end = ' ')
Оригинал: She's just an apprentice of mine. I thought we'd share a drink as business partners for old times' sake.веб форма гугл переводчика: Она просто моя ученица. Я думал, что мы поделимся напитком в качестве деловых партнеров ради старых времен.py-googletrans: Она просто ученица моей. Я думал, что мы бы поделиться напитком в качестве деловых партнеров в старые добрые времена.Ну короче я понял, что перевести нормально даже мелкие куски простого текста полностью свободно, без всяких ключей к апи и прочего, просто невозможно. Можете не пытаться, если вам придёт в голову.
>>1618459ЯННП.Получается, это и не полноценный декоратор вовсе? Или, если учитывать, что это сделано через лямбду, то это нормально?
>>1618459Если что, задание сформулировано так - "написать лямбда-декоратор, сохранив его в переменную".
>>1618464Это декоратор, но ты его не совсем правильно юзаешь в первой лямбде должна быть функция, а не аргументы, что бы ты мог ее вызывать, а так же если добавить еще лямбду, то можешь и аргументы засунутьlambda_deco = lambda func: lambda args, kwargs: func(args, kwargs)Или такlambda_deco = lambda my_arg: lambda func: lambda args, kwargs: [func(args, kwargs), my_arg]@lambda_deco('test')def a(args, *kwargs):____print('Hello')____return args, kwargs>>1618467А, если так, то все норм, декоратор не обязан вызывать функцию
>>1618420Попробуй горизонтальную линию в нижней половине, типа под соединением восьмерки или центральной засечки тройки.
>>1618490Просто добавил больше примеров, вроде как лучше стало.Еще буду логику улучшать и улучшать, спасибо, антош.
>>1618292Метод a.index(i) возвращает индекс первого попавшегося числа i вот оно и выводит тебе постоянно первую 8. Нужно делать проход цикла по индексу.
Питоны, как вы развивали в себе способность составлять программу? Т.е. логику - алгоритм, типа того. Я к примеру могу что-то нагуглить, разобраться как оно устроено, даже понимаю что программа делает. Но вот с нуля самому сообразить пока трудно, постоянно делаю какую-то громоздкую хуйню. Это со временем приходит по мере гугления/изучения? А то недавно только начал учить, чувствую себя совсем умственно отсталым.
>>1618921Хочу написать программу, которая будет сама за меня писать программы. Я только деньги со сберкнижки буду снимать.
>>1618929Ну не траллируй, я действительно недавно начал только изучать. Просто к примеру есть какие-то маленькие кусочки кода которые я могу писать по памяти, но что-то сложное уже начинает ломаться, тупить и выдавать пиздец. Вот и хочу узнать, стоит ли тратить время именно на то, чтобы любой код уметь писать по памяти начиная с самого малого, или лучше охватывать разные алгоритмы более обширно, а потом уже возвращаться и подгугливать какие-то конкретные детали?Типа - ну вот тут вот вычисляется самая маленькое значение из списка, тут вот происходит поиск, но в целом не иметь возможности написать это все самому по памяти, но знать в принципе что программа делает при чтении и понимать общий принцип построения логики. Так возможно продолжать изучение, или все нужно постепенно изучать досконально?
>>1618942Если я правильно понимаю, отдельные модули программы надо делать независимыми, а уже потом объединять их вместе по предварительно намеченной схеме программы
Хочу написать небольшой парсер для блога, который будет новые посты пересылать в тг. Вопрос в хранении id последнего поста. Хранить в текством файле или есть еще какие способы? не прикручивая бд
>>1618976Если у тебя программа будет работать всегда (а она должна это делать по сути), то тебе достаточно одной переменной
Хэй погромисты, а свойства классов(гетеры, сетеры и делетеры) наследуются и их в наследнике же можно изменить будет?
Для каждого воркера multiprocessing открывает новый интерпретатор. Правильно ли я полнимаю, что если через subprocess запустить несколько питоновских скриптов, то это будет параллельное выполнение?.. (можно даже работу с общим ресурсом памяти запилить - через очереди и сокеты)
>>1619052> Правильно ли я полнимаю, что если через subprocess запустить несколько питоновских скриптов, то это будет параллельное выполнениеДа, правильно, параллельное и независимое. Но только всё-таки это надо делать через Pool и Process модуля multiprocessing.Кстати модуль поддерживает и shared объекты уже "из коробки".
>>1619059Работа идётhttps://github.com/IronLanguages/ironpython3Можно ещё вот это использовать:http://pythonnet.github.io
Почему PyPy мало кем используется и не заменил собой CPython в качестве стандартного интерпретатора Питона? Он же намного производительнее, включается в себя jit-компиляцию и поддерживает адекватную многопоточность! Че за хня?
>>1619076>Работа идётБилда трешки до сих пор нет, двушка не обновляется, но коммитов дохуя, что они там делают?
>>1619098>https://stackoverflow.com/questions/18946662/why-shouldnt-i-use-pypy-over-cpython-if-pypy-is-6-3-times-faster1) Проблема с сишными расширениями2) Поддержка фич отстает от cpython, только в декабре выкатили 3.63) Нужно перепедаливать проект
Я опять с тупизмом начального уровня пришел. Помогите пожалуйста понять принцип решения.a = [int(i) for i in input().split()]for i in range(1, len(a)): if a[i - 1] * a > 0: print(a[i - 1], a) break1. Почему в range указана 12. Почему в условии a[i - 1]Пробовал в range писать 0, а в условии a[i+1], но это не работает. Не ясно только по какой причине.
>>1619172>python-овское общества Это кто? Чуваки из PSF пилят cython за донаты, энтузиасты свое за меньшие донаты, обычным прогерам поебать, им за это не платят.
>>1619175Потому что это писал аутистЗабудь это решение и используй for elem in a как белый человек там эта единица вообще по приколу стоит
>>1619190Спасибо. Я почему решил уточнить, данный вариант выделили разработчики ресурса, где эта задача размещена. То есть изначально рекомендуется делать именно так (возможно лишь в рамках изученного). Естественно, я бы до такого не додумался.
>>1619098Уже написали, поддержка версий, расширений и т.п.Кроме того, просто не всегда pypy будет работать быстрее. PyPy работает хорошо там, где много итераций простых циклов, а где-то он реально проигрывает в производительности. Аналогично и с Cython, где-то он хорош, но и проблемы с ним есть.Далеко не везде проблемы производительности актуальны. Какая разница, у тебя проц загружен на 5% или на 0.5%? В общем когда актуально, тогда и надо думать. И такие решения есть, которые позволяют ускорить при необходимости. При этом всегда можно распределить, часть функционала одной машиной исполнять, часть другой, пересылать данные потом упакованные pickle или классическими форматами.
Есть очень простой скрипт, выдающий только пару строк текста на выходе. Каким инструментом превратить его в приложение? Просто чтобы два раза кликнуть - и выводилось окно с этими строками.
В Джанге за каким-то хреном постоянно повторяется имя приложения во вложенных папках типо: myproject/myapp/templates/myapp - вот нахера надо 2 раза писать myapp? Папка templates же и так внутри этого приложения лежит
Недавно в python.Ловлю исключение except pycurl.error.Как в в блоке try самостоятельно выбросить pycurl.error?
>>1619295>myproject/myapp/templates/myapp - вот нахера надо 2 раза писать myapp? Папка templates же и так внутри этого приложения лежит Што? При чем вложенность папок к темплейтам? И нейминг ты любой можешь сделать для теймплейтов
>>1619320>И нейминг ты любой можешь сделать для теймплейтовЕстественно, но не в этом суть>При чем вложенность папок к темплейтамПотому что везде вижу как внутрь тех же темплейтов вставляют еще одну папку, имя которой дублирует имя приложения
>>1619329>Потому что везде вижу как внутрь тех же темплейтов вставляют еще одну папку, имя которой дублирует имя приложения А, ты в этом смысле, так так понятнее же. Смотри, у тебя есть десяток приложений, у каждого свои темплейты, структурируя по различным папкам ты получаешь аккуратные папки с темплейтами для приложений, или не структурируешь и получаешь мешанину.
>>16191751. Потому что смотрят на письку и его соседа слева. Чтобы у первой письки был сосед слева надо начинать со второго. У второго индекс 1 (у первого 0)2. это сосед слева.3. потому что улетает за границу в правой части, надо ещё len(a) - 1 делать.
В Django потребуется хранить что-то типа односвязного списка значений. Внутри Topic мы добавляем новые Entry и их порядок обязан сохраняться. Мы можем передвинуть Entry на любую новую позицию и это должно сохраниться, то есть их нельзя сортировать по дате добавления. Как такую фичу реализовать в Джанге? Как с одной Entry грамотно передать ссылку на другую и потом пройтись по ним всем?..
flask + vuejs: неправильно же вставлять в jinja шаблоны vue переменные типа {{ data }}?Типо как правильно vue с flask подружить
>>1616384 (OP)Откуда pip подгружает пакеты, если я говорю ему например pip install numpy? На каком сервере он находит этот билд numpy? Как они туда попадают? Могу ли я вручную скачать откуда-то архив этого билда, не устанавливая его?
>>1619798А как пакеты попадают туда? Могу написать свой yoba_module_maxx_power_ownage и забросить туда чтоб каждый мог его установить и насладиться моим ахуенным кодом?
>>1619808Да я видел как это происходит но вопрос не в этом. Они что реально позволят любому дауну подгрузить свой говнокод с гитхаба?..https://medium.com/@joel.barmettler/how-to-upload-your-python-package-to-pypi-65edc5fe9c56
>>1619811да, потому пупя засрат нерабочей хуитой, которую приходится фильтровать в поисках чего-то годного.
>>1619817О, кармадрочерство.А пользователь либы авансом должен поставить звезду? Через пип-то он установить её не может, только вручную.
>>1619817Количество звезд это нихуя не показатель, вон неработающее говно залайкали только из-за красивого графика с тестамиhttps://github.com/squeaky-pl/japronto
>>1619794>Могу ли я вручную скачать откуда-то архив этого билда, не устанавливая его? pip download package
Изучаю превозмагаю тут ооп и попутно пишу телехрамм бота для.. ну просто пишу и все.В общем есть небольшой класс, представляющий из себя множество ключевых слов и операций над ним. И есть событие, которое должно работать с содержимым этого множества. Но оно тупо не работает, т.е событие вроде как обращается к классу, но при этом в нем ничего не сохраняется и не выводится. И дебаггер это все почему-то не отлавливает по брейкпоинту, я не могу посмотреть как там и где сохраняются данные. Чяднт?https://pastebin.com/XKdskWgsне смотрите на регулярку, это не мем
Суп питонач. Как вы разбирались в коде, который вы не понимали при изучении? Вот к примеру сейчас разбираюсь с алгоритмом Дейкстры, мне понятна в целом концепция его работы и то, как он работает, и даже то, почему он может не работать. Но вот его сопроводительный код для меня слишком сложный и я не могу написать его самостоятельно, и разбить на меньшие фрагменты чтобы понять его кусками тоже не получается. Что делать?Кажется если я так и дальше буду пропускать малопонятыне моменты без углубления, я вообще ничего не выучу.https://dumpz.org/a2PXepQwS3TY
>>1619952лучше дочь шлюха, чем сын который приходит в питон-тред с вялыми попытками кого-то затралеть
Антоны, как можно перетасовать эти два массива так, чтобы порядок элементов в них был одинаков? Мне нужно получить рандомный порядок картинок, но текстовые файлы во втором массиве должны совпадать с ними
Бля, установил интерпретатор 3.8 в виртуальную среду, начал по новой ставить пакеты для Джанги и во время загрузки psycopg2 вылетела вот эта залупа: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools и нихера не устанавилось, че это за дичь? Visual C++ 14.0 подавно стоит
>>1619984Скорее всего эта проблема из-за того, что psycorp2 ещё не работает с пистоном 3.8У меня такая же залупа была с numpy, пришлось ставить под 3.7
>>1619989Питонотред настолько хорош, что что-бы получить решение даже не нужно дожидаться чужого ответа
>>1619995>psycorp2 ещё не работает с пистоном 3.8А знаешь почему я вообще 3.8 в эту среду поставил?)) Потому что функция django.contrib.admin.register не работает в 3.7 - когда я вставляю туда свою модель чтобы зарагестрировать ее Python крашится нах (да, сам интерпретатор), судя по тому что говорят на форумах: https://www.reddit.com/r/django/comments/e5m7zv/accessing_admin_is_crashing_the_server/это именно из-за приколов 3.7
>>1620000Ага, особенно учитывая то, что я не знаю питона.Вот только чому я не додумался до этого раньше...
>>1620018Кстати, Аноны, а теоретически возможно такое, что те два вызова glob.glob могли дать мне разный порядок файлов и при записи я бы получал расхождение между картинкой и текстовым файлом?
>>1620002Ты как регистрируешь?Я видел:django.contrib.admin.registerdjango.contrib.admin.site.registerdjango.contrib.admin.sites.registerебаные разные версии Джанги...Что из этого вообще использовать? В коде вроде юзаю django.contrib.admin.site.register - работает, но когда пытаюсь отдельно импортировать в консоли эту функцию - пишет что модуля site вообще не существует (есть только sites, где register нет). Че это бля такое?
Есть ли какой-нибудь способ визуализировать код в виде одной большой таблицы или схемы? Знаю есть типа таких - http://www.pythontutor.com/visualize.html#mode=displayНо хочется чтобы это все было в еще более развернутом виде и не так скомкано
Хм, а вот стоит у меня Питон 3.7.0 как его апгрейднуть до 3.7.6 но не до 3.8? pip upgrade же самую последнюю версию поставит
Помогите советом, на чём сайт сделать.Вводные такие:1) знаю питон, не знаю всякие пхп и джаваскрипты, поэтому питон2) на фласке сайты уже делал, но в этот раз контейнтом будет наполнять человек, далёкий от программирования, поэтому нужна cms, соответственно, джанго (не ошибаюсь ли в этом пункте?)3) писать cms с нуля это такое, поэтому прошу совета, какую лучше взять, чтобы можно было по быстрому написать пару шаблонов страниц и потом наполнять это дело текстом и картинками.Всякие хтмл и ксс знаю.
>>1620171Пип не ставит питонЕсли из под винды, то идешь на сайт и качаешь нужный билдЕсли линух, то просто указываешь нужную версию пакета
Надо бы мне в виртуальную среду поставить notebook чтоб легче было в консоли работать, но когда я поставил pip install notebook, эта херь поставила мне еще и овердохуя всякого говна (в том числе tornado, pywin32 и еще какая-то муть), сомневаюсь что хотя бы половина нужна для работы notebook. Как его поставить по человечки с минимумом пакетов?(есть еще jupyter и jupyterlab - но то же самое говно)
>>1620218>не знаю всякие пхп и джаваскриптыВозможно, в обозримом будущем меня уговорят прикрутить туда всякое. Поэтому питон.
>>1620177Если бы у него был линух, то у него все сопутствующие пакеты были бы пересобраны под самый последний питон в репозиториях, так что тут уточнять ни к чему было.
>>1620225>Если бы у него был линух, то у него все сопутствующие пакеты были бы пересобраны под самый последний питон в репозиториях, так что тут уточнять ни к чему было.Я не думаю, он ебанашка, которая сидит на ролинг-релиз дистрах без возможности, установки прошлых версий пакетов, в дебианоубунтах и красношляпах все нормально
>>1620232>>1620239Вы прочитали, что я написал? >сопутствующие пакеты были бы пересобраны под самый последний питон в репозиторияхНа линуксах, если ставить из реп (как ты и должен делать, потому что там за тебя и слюнки подотрут), то всякие доп. библиотеки будут собраны под версию пистона, которая в репах. В репах 3.5? Вся шелуха тоже под 3.5.
>>1620266>Сначала называют old stableТы странный если тебе внезапно понадобились пакеты старше олдстейбла
>>1620275Я тебе просто объясняю, что перестают поддерживать старые версии везде. Где-то быстрее, где-то медленее. Если тебе нужна какая-то конкретная версия, то её может в определённый момент не оказаться ни в актуальном арче, ни в актуальном дебиане, ни даже в ещё поддерживаемом центосе.
>>1620334Из того что гуглится - можешь сделать кастомное поле https://docs.djangoproject.com/en/3.0/howto/custom-model-fields/Можешь подключить какую-нибудь noSQL базу данных и хранить там прямо списки, сортируя как хочешь
>>1620371Если драйвера под нее есть то все нормальноhttps://docs.djangoproject.com/en/3.0/topics/db/multi-db/
Высокопроизводительные сетевые клиенты на Пистоне на овер9к параллельных коннектов - фантазии или реальность? Или проще не мучать жопу и перевкатиться в какой-нибудь более подходящий язык?
>>1620482Зависит от того, что ты на них будешь делать и как организуешь архитектуруhttp://magic.io/blog/asyncpg-1m-rows-from-postgres-to-python/
>>1620515Вообще про пет-проекты, но и про рабочие тоже можно рассказать. Любая информация будет полезна.
>>1620518Сервис с вебмордой на джанге и микросервисным ядром для работы с фотостоками, свалил через год, сейчас работаю на букмекерсий стартап
Аноны, за месяц нужно запилить нейросеть на питоне, подскажите литературу, желательно, чтобы по проще прдавалась инфа. Лучше на русском, хотя и англ подойдет. Нейросеть если что по классификации кредитов.
Как сделать так чтобы мое приложение на Джанге независимо от пользователей каждые 30 секунд проводила опрос стороннего ресурса? Очевидно что нужен некий endless loop, это только асинхронными методами можно запилить?
>>1620673Есть такая штука в джанге как management command, по сути скрипт джанги, просто запускаешь его по крону каждые 30 секунд. Но вообще все используют celery, и ты так делай.
>>1620694>celeryГуд, усвою. По факту он в Джанге может выполнять прикладную асинхронность связанную с тасками? И даже никаких asgi и 3й версии Джанги не нужно?
крайне идиотский вопрос (мне, только начавшему читать и любопытному, интересно):Не сравнивайте логические типы с True и False с помощью ==:
>>1620712Ну вот смотри, если ты пишешь if bool == True:То почему бы не написать if (bool == True) == True: ?
>>1619653Первое что приходит в голову:Добавить два поля для id следующего и предыдущего Entry и реализовать методы create, delete, next, insert и так далее. То есть тупо реализовать все что нужно, прямо в модели.>>1620708По celery я тебе ничего рассказать не могу, не разбираюсь, потому как сам не пользуюсь. По асинхронности в джанго - тоже самое, они там что-то анонсировали в третьей версии, но я так и не понял что там можно асинхронно, а что нет. Похоже, что просто прикручивают django channels. Сижу на старой версии, жду когда сокеты завезут.
>>1620722>По асинхронности в джанго - тоже самое, они там что-то анонсировали в третьей версии, но я так и не понял что там можно асинхронно, а что нет.Насколько я понял, они добавили поддержку ASGI и декораторов асинк_ту_синк и синк_ту_асинк. А 3 версия сейчас будет проходная, т.к. они планируют полностью перевести фреймворк на асинхронность к 4 версии, где-то на хабре была подробная статья про этоНу и их старый роадмапhttps://www.aeracode.org/2018/06/04/django-async-roadmap/
>>1620717Потому что менее понятно. А в bool == True: сразу видно, что тип булев, должен быть правдой. Меньше надо помнить.
>>1620775is может быть и вредно, если bool на самом деле, например, int. Или придётся писать if bool(int) is True:
Подскажите, если мой гитхаб состоит из курсовых работ времен шараги это пожалуй надо скрыть и парочки ботов для телеги. Причем один бот достаточно продвинутый (фриланс заказ) интернет магазин с кнопочками и постгрес бд. А другой модный-асинхронный, c вебхуком и парсингом. То это можно показывать как "проекты" для вката джуном в бекенд?(хотя на самом деле меня больше интесует работа с бд и автоматизация)Или такое даже смотреть никто не будет?
>>1620915Ты учти что это в оба конца работает и если у тебя там будет говнокод то это сыграет даже похуже чем завал на двухмерном массиве.
https://www.labirint.ru/books/609684/https://www.labirint.ru/books/486755/Эти две же ок? Хочу бумажные. Вторую частично читал, первую совсем нет
>>1621146Погоди погоди. Приведи пример из реальной жизни, в котором реально нужно писать "if bool == True"
>>1621165Оно и так понятно, а кому не понятно - Гвидо объяснит лично>Don't compare boolean values to True or False using ==.> Yes: if greeting:> No: if greeting == True:> Worse: if greeting is True:
>>1621177>Don't compare boolean values to True or False using ==.А я и не сравниваю "boolean values", я сравниваю variables, а какие оно может values принимать?Если, например, ты спрашиваешь про False? И там не False, а пустая строка? Или None?
>>1621182>Если, например, ты спрашиваешь про False? И там не False, а пустая строка? Или None?Приведи пример реального кода с такой ситуацией.
В последнее время посматриваю по рандому всякие курсы и обратил внимание, что практически в каждом при открытии файла или подключения бд они стремятся максимально быстро же закрыть. Т.е. на каждую запись в файл или запрос в базу открыть-закрыть. Нахуя это делать?Выглядит как идиотская экономия на спичках, учитывая прожорливость самого питона. Или есть какой-то подвох?
>>1621187У меня нет под рукой реального кода, где False, [], и None это не одно и тоже, чтобы показать тебе, так что не могу.
>>1621182>А я и не сравниваю "boolean values",>Не сравнивайте логические типы с True и False с помощью ==:>пустая строкаПустая строка все еще False, ровно как и None
>>1621195>Не сравнивайте логические типыЛогические значения. Логические значения бывают только True и False. А переменные могут быть не только True и False. Что не надо писать "if True == True" и так очевидно.>Пустая строка все еще False, ровно как и NoneО том и речь. У if a и if a == False будет разное поведение.
>>1621191Да я знаю, что это не одно и то же, речь то не об этом.>>1621199>У if a и if a == False будет разное поведение.Никто так и не сравнивает, речь была о True.Обычно в нормальном коде в переменной bool или её аналоге и так будет булево значение. И достаточно написать if boolЕсли туда попадает всякая левая фигня, то это проблема кода уже и её надо решать.
>>1621205>речь была о True.Подожди, то есть эта схема не универсальна даже между True и False и применяется исключитально для True?
>>1621190Имхо, нет смысла держать открытым подключение, если оно не используется. Плюс, могу ошибаться, если при открытом подключение программа упадет, это подключение может далее висеть незакрытым.
>>1621213Я обычно пишу либо if bool, если мне надо, чтобы что-то произошло, если условие выполняетсяЛибо пишу if !bool в противном случаеНо я не сильно опытный программист
>>1621219В том-то и дело, что будет использоваться.Если ты сразу вычитываешь или полностью пишешь файл, то да, нет смысла держать открытым.При падении GC должен подчищать, по-моему, это в общем-то штатная ситуация для самого питона.
>>1616957регексы из другой грамматики. с ними ты пойдёшь нахуй, когда захочешь вложенность победить и другие ништяковые вещи, которые даёт контекстно-зависимая грамматика.
>>1619977делай один список из кортежей через zip, а потом уже делай свою ёба сортировку по первым элементам всех кортежей.
>>1621283Пацаны, я сейчас таки допёр что regex это "Regular Expression"! Ёба, мама мне всегда говорила, что я одаренный и не зря. Скоро буду нейронки писать и 400к зашибать
>>1621296Значение эфемерно. Вот такой кастомный класс вообще всегда будет тебе выдавать True при сравнении и дальше что?class Mine:----def __eq__(self, other):--------return TrueКогда проверяешь ссылки ты точно знаешь что это синглтоны True или False
>>1621239>В том-то и дело, что будет использоваться.Тогда нет никакого смысла закрывать соединение с БД, потому что коннект и аутентификация это достаточно медленная операция. С файлами тут чуть попроще, конечно.
>>1621306Как в обычном скрипте послать собственный асинхронный сигнал? Вот к примеру некая функция вернула определенное значение, значит посылается какой-то асинхронный сигнал и вызывается функция-обработчик для него. Или с помощью Celery это намутить реальнее?
>>1621382>Async From SyncНу да, по делу. Только вот мне бы единожды кинуть сигнал внутри синхронного кода и не париться. Незачем плодить async loop. Клавиатурное прерывание Ctr+C это ж тоже обработка сигнала (который уже бросает эксепшн KeyboardInterrupt). Вот реально ли сделать сигнал который реагирует на свою комбинация клавиш? Или тут без Си-прогинга не обойтись?
>>1621439>Незачем плодить async loopТак ты и не плоди, с 3.7 можно пользоваться раном, об этом в статье тоже есть. Насчет прерывания хз
>>1621439А как ты это сделаешь на Си? Ctrl+C это системный сигнал, его сама ОС генерит. Я не очень такими вещами занимался, вероятно тут многопоточное решение будет, основной поток обрабатывает клавиатуру и сам генерит сигнал, если была нужная комбинация.Просто не сделаешь. Но и на Си просто не сделаешь.
>>1621439>Async From SyncТам в этой части муть какая-то. Хотя не читал.В любом месте для питона 3.5.3 и старше можно безопасно вызвать asyncio.get_event_loop(), не надо той мути для создания евент лупа. С 3.5.2 (он в дистрибутиве убунты 16.04, что печально) хитрее, поэтому лучше питон всё-таки обновить.Для 3.7 уже больше возможностей, можно асинхронную задачу запустить просто какasyncio.create_task()Но всё это не имеет смысла в твоём контексте, ты реально делаешь что-то не то.
>>1620712Потому что для бул переменной достаточно написать "if a". Аналогично для пустых списков, нанов и прочих фолси
сап. нужно хранить историю изменений модели в django. точнее что-было изменено(django-simple-history) почти подходит кроме одного. в админке нужно показыать какие поля изменились. так собственно вопрос. есть еще какие нить батарейки?
Так посоны, чтобы в бэкграунде от основной программы, что то делать и обрабатывать это все параллельно нужно изучить мультипроцессинг, да?
Объясните дебилу. У меня есть сеть на керасе, я хочу подать туда какой-то элемент из выборки и узнать результат, как мне это сделать? Юпитер https://github.com/jeffheaton/t81_558_deep_learning/blob/master/t81_558_class_14_04_ids_kdd99.ipynbПодавать в предикт x_test[0]? Последний блок и для чего 6 кусок
Как лучше делать проверку вводимого int? Использовать isdigit() или просто поместить участок кода с приведением в try: ?
Почему Питон считается "интерпретируемым языком", если он компилируется в байт-код и выполняется виртуальной машиной? В чём вообще разница с C# и Java в таком случае?
Сап, у меня есть набор данных по возрастам, хочу это отобразить на диаграмме, но данных чуть больше чем дофига. это выглядит не красиво. Хочу сгруппировать например по группам возаста например с 21 до 25 в одной группе с 26 до 30 в другой. как провести эту группировку?
>>1621675Поставить хэндлер не проблема. Проблема заделать свой signal. Там в либе даны лишь основные сигналы (действующие на уровне ОС). Как я понял, без влезания в низкоуровневый прогинг на Си тут не обойтись
>>1621802Ну так системные и используй, это стандартный IPC.SIGUSR1/2, например. Отправляются через os.kill.
Анончик, объясни как с виртуаленв работать.Вот, например, в жсе - я клонирую репу с гитхаба, ставлю зависимости через npm install и они ставятся в папку с проектом.Как это происходит с питоном? Я клонирую репу, в репе есть файл requirements.txt - как дальше мне поставить зависимости локально?
>>1621871Мне нужно в шеле сначала перейте в директорию после чего создать виртуальное окружение с таким же именем как и проект?
>>1621881Вообще без разницы где создавать. Тот же venv главное активировать, а работать можно откуда угодно.
>>1621886Может ты хочешь иметь отдельную папку, где у тебя будут все окружения, но никто не мешает тебе это в проект закинуть
>>1621889А если я создаю окружение внутри проекта, то это окружение нужно в гитигнор добавлять, верно? А то я создал окружение внутри проекта и у меня появилось 500 новых файлов. И еще вопрос, есть ли какое то стандартное название для папки с виртуальным окружением внутри проекта? Или куда обычно их ставят?
>>1621892>А если я создаю окружение внутри проекта, то это окружение нужно в гитигнор добавлять, верно?Да>И еще вопрос, есть ли какое то стандартное название для папки с виртуальным окружением внутри проекта? Или куда обычно их ставят?Зависит от выбора виртуального окружения, для venv это папка с именем venv, оно в корень проекта обычно ставится
>>1621902Спасибо анончик. Вроде разобрался. А ты не знаешь, в питоне случайно нету практик для сендбокса скриптов/проектов? Или это мне нужно на уровне ос делать?
Можно ли адекватно реализовать mutable строки в Питоне? Для множественных операция удаления/вставки/смещения, чтоб работать с одним и тем же объектом и не происходило кучи копирований/удалений? Как их лучше всего намутить? Через memoryview - реально? (хз особо не вникал, что это такое)
>>1621946При частых изменениях удобно работать со строками как с последовательностями и брать конкретный элемент через __getitem__. Канешн можно реализовать обертку из этого, но строки все равно будут immutable
А есть какие-нибудь модные хипсторские способы теребить коллекции? Хочет какие-нибудь конструкции типа r['ch1','ch2'][:10]['data']. Типа взять два куста из словаря, срезать им первые 10 строк и извлечь из низ ключ 'data'. А то генератор на генераторе городить приходится.
Алсо, куда дальше идти курить бамбук дурачку-олимпиаднику, который знаком с Питоном уровня основ ООП по типу инкапсуляции, наследования и тп, ну еще немного всяких tkinter и прочих либ. Решил 100500 задач уровня отсортируйте говно постройте маняматрицы помогите вычислить говно и прочее, теперь хочу большего
>>1622144Ясно вампир не палится. Ну короче я так и думал пока я время на всякую хуйню трачу вы радуетесь и живёте вечно. Пидоры блять ебаные я же то же хочу
>>1622188Ну тащемта это уровень 11 класса - 1 курса, разве что графические либы можно заменить на numpy
Как по мне - отличный вопрос для собеседования, что бы спросить у собеседующего, если надо будет.P.s. советую анонам-новичкам подписаться на этого мужика, и на Ютубе найти видео с конференций с ним.
>>1622313>мапа компактнее чем массив массивовДа ладно!>Как по мне - отличный вопрос для собеседования, что бы спросить у собеседующего, если надо будет.Нет, вопрос говно, измерение пиписьки на знание вещей, которые никогда не будут использоваться
>>1622329Вопрос хороший, потому как именно подобный вопрос из области "хуй знает, надо продумать, поразмышлять" и ждут.Очень хорошо что ты с лету подобрал возможную причину такого поведения.
Есть проект в котором не прописаны зависимости в requirements.txt. Как в таком случае ставить зависимости? Ручками прописать в файлике после чего поставить их через виртуальное окружение?
>>1622373На самом деле, погружение в вимы-эмаксы это дохуя человекочасов. Зачем добровольно навешивать на себя такой груз?С тем же вимом достаточно выучить по верхам чуток и охуенно себя чувствовать в любых никсах.А дальше это очень на любителя, особенно с превращением его в ололо-IDE.
>>1622501Я изучил, дурачок. Я изучил даже ed.Но смотря квадратными глазами на фронтенд с мильйонами хуйни для изучения, какие там редакторы ещё?Тем более, для вкатывальщиков.
>>1622203Ну а я цикл for даже не прошёл ещё ну а хуля еще 10 задачек осталось ща решу и уже буду то же программировать а хуля делов то бля ёпта
Какие версии python u pycharm ставятся на win7 7600 без sp1 ? Установил старые, но не поддерживаются модули, т.к. pip ставит последнюю версию модуля. Шо делать?
Короче если значение k увеличивать в теле цикла, он дальше нихуя не итерирует только до своего первого заданного значения. Почему так ?
>>1622647То есть это уже оффициально всё да ? В цикле for значения range() менять смысла не имеет это уже точно ?
>>1622671Ты вопрос понял вообще ? Я меняю к в теле цикла(увеличиваю) но цикл работает только до того первого значения к не дальше.
>>1622693То же самое ты тролишь меня похоже дила нашёл да ? Конкуренции боишься ? Ажна затрясся весь денег жалко ?
>>1622695очередной вкочусьвайти за месяц?Тебе не кажется странным что любые твои манипуляции над k не отражаются на цикле? Потому что блин инициализация генератора range уже произошла и ему поебать, что ты там делаешь с k >>1622694ты херню несешь, for вообще не для этого, используй while
>>1622699Так я и говорю почему бля не меняется ? Что за инициализация токая бля ? Ебать. Ты чо нахуй ? Да лано, не трону ебать. Не бойся.
>>1621884>Тот же venv главное активироватьСкорее в проект прописать, чтобы оттуда запускался.Активировать не обязательно, достаточно по полному пути вызывать, и автоматом будет подхватываться нужное окружение. То есть вместо того, чтобы запускатьsource /home/vasya/venv/bin/activatepython hello.pyможно смело писать/home/vasya/venv/bin/python hello.pyи всё будет прекрасно работать без предварительного активирования окружения. Для запуска из скриптов это важно, и в принципе иногда удобно, особенно если хочется в разных окружениях что-то пускать.
>>1622725Не нужно тебе программированием заниматься. Не на питоне уж точно, ты пока не готов.Почитай просто, как циклы работают в питоне, как генераторы.У тебя вызов range(k) происходит только один раз, перед самой первой итерацией. Дальше создаётся генераторный объект, который возвращает значения от 0 до k-1, и ты на него повлиять уже никак не можешь.
Как в Джанге вести автоматический подсчет количества строк в таблице? Добавил я новую строку с данными в таблицу - счетчик увеличился, удалил - уменьшился (создание integer аттрибута на уровне класса - хреновая затея, т.к. питоновские методы инкремента/декремента будут серьезно тормозить БД при каждом таком обращении)
>>1622777Это я понимаю но как сия магия происходит ?Я вообще не видел что бы перед for что то стояло и где про такое искать ?
>>1622787Генераторные выражение, тебе ссылку уже привели. Одна из особенных фишек питона, которых нет в большинстве других языков.Чаще они используются для того, чтобы списки генерить.попробуйs = "asdfasdfasdfgadfg"lst = [c for c in s]print(lst)lst = ['<' + c + '>' for c in s]print(lst)lst = [c if c in 'aouie' else '_' for c in s]print(lst)можно использовать и в циклах, но это уже не очень принято.
Двощ нид хелпDjango Надо сделать модель в которую буду заполнять поля и их сумировать и вот эту сумму вносить в модель ...То есть есть 3 филда Int1 - Input(x) 2 - Input(y) 3 - а в 3 филд вношку x+y (но не рукой, а что бы програмно заполнялось(надо делать кое какие расчеты) и что бы вносить в это поле можно было только редоктируя 1 и 2 фил.То есть как я понимаю, надо засунуть функцию/метод в модель и при иницилизации модели ее вызвать и забить ее результат в филд? Как это сделать?
>>1622798Есть отдельная книжка именно про такие особенности? Про всякие @, else для for, и with тоже. А то я как-то какую не возьму: "как пользоваться if", "создадим список d=[]".
Сап, други.Я к вам с совсем нубским вопросом.Когда очень очень давно учился в универе по спецухе программирования, изучая с++ и паскали.Потом все это забросил, а недавно решил вспомнить былое чисто для себя, мозги размять.Из всего за это время множества языков выбрал питона (хз почему, ну вот его).Разобрался в синтаксисе, вспомнил кое-какие методы и алгоритмы, короче запилил несколько программок.Но, собственно сам вопрос вот в чем:как дальше из ide ее выпустить? Там она запускается, работает, а дальше что делать? Например скомпилить и использовать на другом компе или кому то скинуть. Погуглил это дело, оказывается это целая пляска с бубнами.Объясните глупому какой тол тогда в этом языке, если из него дальше программу нельзя нормально сформировать? Ну или я чего то еще не понимаю, подскажите плз.
>>1622833Все твои плюсы, шарпы и жабы тоже требуют рантайм, просто он или есть искаропки, или его таскают с собой с инсталлятором.Принцип тот же.
>>1622832А, objects.count...Другое еще хотел уточнить: SOAP API актуально где сейчас? Или в основном везде идет REST?
>>1622838Расскажи поподробнее об этом. Я не совсем понимаю что делать.Вот я в ide накидал. Сохранил в py файл. Как из этого сделать exe?И почему пишут что это редко делают, что вдруг поменялось?
>>1622842Из него не нужно делать ехе. Надо устанавливать питон там, где оно будет запускаться.Ехе можно сделать, но это суть тот же питон, примотанный изолентой.
>>1622842Файл легче запускать через терминал командой python -m, при условии шо питон на машине установлен канешнНа unix в 1ю строчку захуяриваешь #!<python_path> (можешь папку с виртуальной средой вместо со своей прогой таскать) и тогда файл запустится из терминала на похуй, без команды pythonЕсли тебе надо послать твою ахуительную говнопрогу другу-ламеру, то конвертируй py2exe, в инете есть туториалы, сам этим не занимался
>>1622845Хмм, а в других языках с этим проще? Зря я питон выбрал получается?Т.е. сейчас простейшая задача - дома накатал программульку для компа на работе, такую вспомогательную и упрощающую рабочий процесс. Но выходит дело я не смогу ей пользоваться, т.к. надо на этот комп ставить питон среду, а комп весь без прав админа.>>1622846Говнопрогу именно себе, но на другой комп.А почему так сделали? Это же пиздец неудобно. Все равно что машина, которая только в гараже может заводиться....
>>1622848> Хмм, а в других языках с этим проще? Зря я питон выбрал получается?Зря, попробуй голенг, он очень простой(проще питона) и делать экзешники в нем можно одной командой. Ну и сами программы получается на порядок быстрее питухонских
>>1622848Тебе нужен интерпретатор чтоб интерпретируемый код работал, что тут странного? Точно так же как компилируемому коду необходим компиляторПопробуй .cpp файл на похуй запустить двойным щелчком мыши
>>1622854Да это понятно, вот только в си был встроен компилятор и никакой проблемы получить exe из срр не было.>>1622853>голенгЧто то не могу найти, можно какую то ссылку на соус откуда начать?
>>1622857>Что то не могу найти, можно какую то ссылку на соус откуда начать?https://golang.org/https://golang.org/dl/гайд тут https://go-tour-ru-ru.appspot.com/welcome/1алсо милости прошу к нашему шалашу >>1603114 (OP)
>>1622864>вкатывальщикаЕсли цель - поиск работы в Россие, то лучший вариант это не питон, и даже не го. Если опыта совсем нету - то пхп или жс. Поработаешь пару лет, потом можно будет и на любой интересующий тебя стек перепрыгнуть.
>>1622861Спасибо, уже тоже набрел на тред и эти сайты.Попробую его.Еще пара вопросов можешь подсказать?У Го тоже много разных IDE? Если так, то посоветуй плс хорошую?И второй - вообще этот Го как язык нормальный? Функционал, синтаксис итд?В питоне мне понравилось что нет кучи фигурных скобок, точек запятых в конце и кучи всякой лишней разметки. Потом еще показалось удобно как он переменные сам понимает и не приходится на каждом шагу подсказывать что тут строка, а тут интежер.
>>1622867>У Го тоже много разных IDEРекомендую вскод с плагином.>Го как язык нормальный?Строгая типизация. Синтаксиз си-образный. Абстракций меньше че в питоне.Если хочешь глянуть на синтаксис, глянь любой проектhttps://github.com/trending/go>отом еще показалось удобно как он переменные сам понимаетВ голенге с этим все намного лучшее, потому что иде точно знает какой ты указал тип у переменной и сразу тебе покажет все методы.
https://goo.su/0Kd4На сколько близко к правде и на кого этот список, по вашему, на среднего джуна или уже мидла?
>>1622957Почему нет? Что тебе мешает сделать борду на джанге? Я когда курсы смотрел там одно из ДЗ было - борда
Реально ли работать на бэке в трй же Джанге с юзерами исключительно через куки, не задействуя БД, если передаваемых данных мало?.. канешн БД все равно потребуется для прикладных целей, я конкретно про замену кастомных моделей куками
Тут чел говорит что REPL-система в Питонухе бесполезна:https://habr.com/ru/company/yandex/blog/490788Шта? Все ж работает в консоли норм
>>1623052Саму концепцию репла все подряд пизданули из лишпов, где она много мощнее.На потестить однострочники годится.
>>1622970Я в вебе вообще ноль, но из того, что я понял - джанга скорее как конструктор по типу вордпресса, нет?
>>1623240Нет просто вообще. Полу-конструктор для бэкенда, фронт часть самому придётся писать полностью, только админка есть в коробке.
>>1622974Что ты хочешь в куках передавать? Ты данные можешь в сессиях хранить. Ты можешь использовать легковесную базу sqlite, если не хочешь маяться с постгресом. Куки вообще о другом и для другого.
>>1623352А что, через встроенные жинжа темплейты никто фронт не пишет?Обязательно накручивают поверх какой-то жс фреймворк типа реакта, а джанга только для работы с бд и рестом?
>>1623367Если что-то совсем простое можно и на темплейтах, можно к ним бутстрап, джейквери приклеить - будет лучше, если одностраничник можно хоть вью прикрутить
>>1623367Там не jinja, а jinja-подобные темплеты. Кстати лучше их заменить именно на джинджи, потом меньше проблем будет.Джанго из коробки тебе даёт именно бэк часть. Это механизм шаблонов без реализованных шаблонов, продвинутую работу с БД через ORM, всякие там механизмы куков, авторизаций, систему для создания middleware, url-процессинг и массу подобной хрени. Но в коробке, кроме админки, ничего больше и нет. В отличии от типичных конструкторов сайтов. Никаких шаблонов галерей, меню, досок объявлений, ничего нет вообще. Ни кода для базы, ни фронт части. Всё самому.На базе jinja ты легко можешь сам сайт написать, но это при условии, что ты владеешь HTML/CSS/JS. Бутстрап - спорное решение. Его разрабатывали давно, когда браузеры плохо нормальный HTML и CSS поддерживали. В результате они велосипеды убогие и кривые пилили, когда на голом HTML ты можешь сделать всё прямее и лучше. Вот в самой базе, bootstrap grid. Сейчас гриды лучше в голом HTML поддержаны, более функциональные, и уже все современные браузеры поддерживают. Вообще проблема многих таких решений.jQuery тоже устарел. Или лучше на голом JS, или уже мощные современные фреймворки.
>>1623444А на чем можно быстро лепить симпатичные мордочки погромисту без всяких зойчатков дизайна?Имеются в виду не сайты, а сорт оф гуи в вебе, для управления всякими штучками на бэкэнде.Мне нравится вариант с рест апи + морда на клиенте на каком-то жирном жс фреймворке. Или есть что получше?
Что почитать про написание красивого и эффективного кода? Смотрю на код других людей на гитхабе, сравниваю со своим и чувствую, будто остальным больно читать то, что я пишу.
>>1622833Можно изи запустить питончик на heroku или pythonanywhere.В прод питон запускается реально заёбисто: добавление всех зависимостей в requirements.txt, docker, gunicorn и nginx.Это важные навыками для профи питониста, как впрочем и для разраба на любом другом языке.В любом случае, настраивать весь этот ci/cd адок придётся не очень часто пытаюсь себя успокоить, настроил и хуячишь код.Чаще приходится писать и читать бизес-логику, а это на питоне код пишется быстрее, чем на других языках.Но если ты не катишь свои проекты в серьёзный прод, то это всё не нужно и ты можешь спокойно юзать сервисы, написанные выше в 1 строке. А потом когда придётся катить проекты в прод - научишься настраивать всё это за неделю-другуюКстати, в exe тоже можно скомпилить питоновскую прогу и это не очень сложно :)Гошечка хороша и вакансии в Москве есть и получают Гоферы больше питонистов, но мне кажется она посложнее питона из-за обязательных: асинхронщины, указателей и ссылок.+ статическая типизация обычно замедляет разработку фичну и у гошечки нету django
>>1623476Кидали уже выше ссылку на спеку generator expression >1622793 там создаётся генератор в 1 строку
>>1622876это ж просто перепечатка видоса одного чувака https://youtu.be/9kLI6R0heTQОн вроде хорош в питоне, шаритСписок на сильного джуна/мидла, близок к правде. Но там описаны прям все навыки, примерно мидла.Не обязательно шарить за весь список, если хочешь устроиться джуном.Если бы я составлял обязательный список, я бы точно выкинул:1. HTML, CSS, JS - на питоне обычно апихи пишут и если тебя не взяли на fullstack, ты будешь супер мало писать фронт.2. Асинхронность мало юзается в старых проектах, а кроме легаси джуну ничо больше не доверят :)3. Тестирование 4. PostgreSQL - глубокое понимание не требуется, главное знать основы SQL и уметь быстро гуглитьВсе эти вещи очень важны, но они не фундаментальны и быстро учатся по ходу работы и по необходимости.
>>1622139>Шутки шутками, пасты пастами, но может ли новичок написать свою имиджборду на джанго?>написать>сам>на питонеЛол, сделай простоimport django_imageboardhttps://github.com/wgoode3/Django-Imageboard
Мне лучше сразу пытаться так писать код или лучше сначала научиться программировать хоть маленько ? А то у меня пиздец текста а у дяди вона оно как
>>1623459>для управления всякими штучками на бэкэндеДля управления штуками в бекенде у тебя есть админка, поставляемая из коробки.
Хочу написать десктопное приложения типа видеоплеера. Но как это сделать на питоне? Откуда брать форму, кнопки и как это всё программировать?
>>1623585почему на питоне?ну а вообще очевидно тебе нужен графический фреймворк для питона, хоть тот же ткинтер
>>1623519Не надо. Там ещё любят всё в comprehension заворачивать даже там, где не надо. Пиши проще. Серьёзно.
>>1623585>типа видеоплеераТы уверен, что справишься? Понимание работы плееров есть? Демуксинг там, декодинг, вот это всё.
>>1623586 Потому-что хочу на питоне, ну то есть я понимаю что он не так эффективен в этом даже как делфи,.. Не знаю что ещё взять поэтому плеер, мб сначала мп3, а потом уже и видео. Одному, без наставника тяжело, постоянно прыгаю с одной книжки на другую и не могу зацепиться за что-то конкретное, если можешь предложить что-нибудь - я буду только рад.>>1623596Не уверен, но надо с чего-то начинать.. погуглю как воспроизводить видеофайлы и т.д.
>>1623609>как воспроизводить видеофайлыffmpeg, если вдруг сам не найдёшь. Если не разбираешься, то лучше не берись за это. По ЦОС хотя бы что-то почитай ещё.
Привет, друзья, как отрисовывать полупрозрачный слой поверх всех окон и всего интерфейса как это делают программы типа redshift или f.lux?Я пробовал делать это при помощи wxPython, а именно wx.ScreenDC но проблема в том, что при движении курсора мыши этот слой в местах прохода стирается, меня такое положение дел не устраиваетНашёл что-то на стэковерфлоу но не знаю как это использовать и есть ли для этого какие-то инструменты в Пайтоне https://stackoverflow.com/questions/1025412/how-does-f-lux-work
>>1616384 (OP)Посоветуйте материала по тестам по этому же языку. Хочу вкатится, понять что к чему и для чего нужно. Заранее спасибо, змеякi!
>>1623783Спасибо.А в каком то из них есть конструктор форм? Чтобы рисовать окошки-кнопочки, а не текстом их выписывать?
Сегодня первый собес на позицию джанго джуна. Волнуюсь пиздец как. Какие вопросы вам задавали? Что чаще спрашивают и что стоит повторить?
Ух бля, срачи по поводу 80 символов. Уникальная для питона тема. Не одна тысяча человекочасов на это потрачено.
>>1623483Спасибо за ответ, я уже работаю джуном, но посчитал что это видео довольно полезно, что бы выделить для себя некие направления дальнейшего развития, как по твоему, что еще можно было бы посмотреть/потыкать для этого стека, помимо того, что он озвучил?
>>1621745Какой придётся. Допустим есть мод для майнкрафта написанный на скала, нужна скала. Другие игоры требуют луа для моддинга. Если писать с нуля то мне проще на питоне, если ускорить надо, то проще модуль на си написать для того же питона. Душа лежит к расту.
>>1621711Потому что байткод интерпретируется. Там цикл и большой свитч по опкодам. Java и C# тоже могут работать в режиме интерпретатора, но они включают JIT и на лету компилируют фрагменты байткода в нативный машинный код. Разделение на компилируемые-интерпретируемые языки не всегда чёткое в общем.
>>1621673Можно try, более строго будет использовать регекс. isdigit будет медленно и громоздко. try сработает как надо в большинстве случаев. Регекс нужен если тебе надо оставить число строкой, но при этом быть уверенным что там записано число и в точном формате, без подчёркиваний и плюсов например.
>>1621611Если тебе нужно параллельно перемалывать что-нибудь на CPU в питонячем коде, то мультипроцессинг. Любой ввод-вывод (диск, сеть) и числодробилки на си вроде numpy умеют отпускать GIL и мультитрединг будет работать.
>>1621593Это всего лишь константа, которую ты можешь использовать как специальное значение. Например задавать какие-нибудь неполные значения вот так: [4, ..., 8]. Естественно в коде тебе нужно будет самому обработать эллипсис и вставить недостающие числа.
>>1623821Что такое индексы в БД, какие алгоритмы там используются, для чего они нужны.Почему плохо считать количество строк как len(Model.objects.all())Чем отличаются GET и POST запросы. Почему нельзя всё делать с помощью GET.
Посоветуйте хороший учебник по питону. Сейчас читаю Think Python и такое чувство, что автор вообще не понимает, для кого создается этот учебник. Очень странная структура типа пикрелейтед (сначала применяется вызов значения по ключу, а потом рассказывают, что такое вообще есть и называется лукапом), из-за чего теряется какая-то часть понимания происходящего. Задачи по логике убивают и вместо того, чтобы условно рассказать, как выполняется задача = дается простой ответ и все. Короче хуй знает, почему этот учебник всем советуют. Может есть какой нибудь более подробный? Советовали Diving in to Python и Лутца.
>>1623901Из тех что я читал больше всего зашел "Рамальо Лучано - Python. К вершинам мастерства", но он не совсем хорош для начинающих.
Товарищи, помогите.Нужно написать передачу данных на ардуинку с малины через блютус, на питоне.Перерыл гугел, и что-то не нашел.
Начала изучать python пару недель назад. Есть задача.Напишите программу, которая убирает из списка повторяющиеся элементы. Программа должна запрашивать на вход слова, каждое с новой строки, пока пользователь не введет пустую строку. Затем должна выводить список без повторяющихся элементов.Решил хотя бы вывести списокb = []while True: text = input() b.append(text) if not text: break print(b) а вот как из него дубли убрать я хз что-то. Подскажите аноны добрые !
>>1624060if text not in b:b.append(text)Можно в конце прогнать через сет и обратно в список, например.
>>1624085Ну опять же, for с тем же условием, что выше.Т.е. закидывать в новый список только то, чего там нет.
Хочу сделать пару проектов на питоне, какие веб фреймоврки/либы сейчас используются в индустрии? Или можно есть что-то, на что можно обратить внимание, хотя оно и сильно используется.
>>1624747Мне как раз нужно, чтобы то, что напечатано через цикл, печаталось через return как целая строка.
>>1623947что за реклама -_-алсо в том же грокаем глубокое обучение вообще показано как свой нейрофреймворк сделать лол
>>1624752Лист нельзя. По сути нужно вернуть многоуровневую строку, где каждый уровень - это один из вложенных в лист листов, конвертированный в строку.
Хелп, пишу скрипт. Надо скопировать кучу файлов с ЖД на телефон/планшет, через usb, но как узнать путь до телефона, у таких устройств нет буквы!
>>1624753Не реклама, просто открыл свой акк на кикстартере и там в закладках оно.Гляну что за книга, первый раз слышу.
>>1624091Что можешь сказать про такое решение ? b = []while True: text = input() b.append(text) if not text: break print(b) from itertools import groupbynew_b = [el for el, _ in groupby(b)]print(new_b)
>>1624806Чем поднять, руками? На каждом планшете? Тогда зачем python-ом копировать, если можно сразу руками. Хуйню ты какую-то сказал неподумавши.
>>1625048В питоне медленная математика, это да, сетевые либы написаны хорошо>медленнее PHPНастолько медленнее, что лавруха с гигатонной комьюнити на последней быстрой пыхе медленнее джанги
Почему изменяемый объект не может быть ключем в словаре? Ну изменится хеш при изменении этого объекта, и дальше-то что? Не трагедия же
>>1625074Он изменится извне, а в словаре будет старый, так что ты больше не сможешь извлечь его значение.
Cижу собираю ромбик вложенными циклами уже 2дня, если бы не ваша моральная и ментальная поддержка давно бы уже бросил всё.
>>1625133Там вообще залупа. Я уверен есть простое решение но я собираю эту хуйню по кусочкам как даун. Только моральная поддержка двача и спасает. Кстате тебе маны не залить через ментальный фаллос ?
>>1625104Ты не понял... я про изменяемость как таковую. Я уже писал свой лист с__hash__(self): return 1Все работало без эксепшнов. Вопрос в том почему изменяемые объекты в принципе не используют как ключи? Вот могу я например реализовать хеш-алгоритм по которому из всех элементов списка создается строка и потом вычисляется ее хеш
>>1625137Потенциальная неоднозначность, ты сохранил лист как ключ и можешь изменить этот же объект в любом другом месте кода.
>>1623866Привет, а какие вопросы тебе на собеседовании задавали? По каким темам гоняли? Портфель с гитхаблом просили?
>>1625129Лови мой вариант.Подозреваю, что можно вообще четенько. Я нахуевертил из того, что пока знаю.n = 5width = n2 + 1for x in range(width): sign = -1 if x > n else 1 diff = n - ((n-x) sign) x1, x2 = n - diff, n + diff+1 row = [' '] width row[x1:x2] = range(x1, x2) print(row)
Анончики, есть тут те, кто уже устроен и имеет опыт, можете рассказать о необходимых знаниях и ваших повседневных задачах, желательно бы услышать истории от бэкендеров, но можно и от других.
>>1625181Главное иметь большой мочевой пузырь. Бесплатный кофе и печеньки это как минимум + 15% к зарплате.
Привет. Написал переписал код калькулятора, кнопки не работают. В чём проблема?https://ideone.com/2Ub9Wv
>>1625250В общем, я почитал детальнее, у тебя только три варианта отрабатывается if key == "=": elif key == "C": elif key == "-/+":
>>1625278А как часто на практике приходится строить ромбы? Ну то есть приходит заказ на 10 ромбов вот оплата, срок неделя.
>>1625278так лучше?>>1625283никогда, это чисто страдание херней, тебе в принципе на питоне особый функциональный скилл не нужон.Век здоровья тому кто придумал ООП
>>1625288Челик скинь настройки своего шрифта, цветов вот этих всего такого это как ты так сделол ? Есть готовые пресеты как у тебя ?
>>1625293>>1625129>>1625178Приучайте себя как можно раньше к осмысленным переменным, глаза текут просто.
>>1625288> никогда, это чисто страдание херней, тебе в принципе на питоне особый функциональный скилл не нужон.Вот и я о том же. Практической пользы от таких заданий никакой, если только для общего понимания и принципа работы. Это я с дивана рассуждаю.
Это уже ближе к идеалу, я доволен.https://pastebin.com/dP8EtRe6Ещё бы гуры подтянулись и показали класс, лол.
>>1625316Короче во первих вот эти квадратные скобки нельзя использовать такое я не прохоил еще и она должна быть с вершиной посередине
>>1625272>>1625271>>1625252>>1625227Спасибо за ответы, всё равно не понял что не так. Зацикливаться на этом не буду, лучше двигаться дальше.
A = {}for w in input().split(): A[w] = A.get(w, 0) + 1 print(A[w] - 1, end=' ')Через сколько времени вы смогли бы самостоятельно до такого додуматься? Я вот вообще не бум-бум, хотя только материал по теме прочитал. Возможно стоит чаще смотреть в чужой код, а не часами велосипед придумывать.
>>1625513Со split дурацкий хак, а так всё довольно очевидно.Или там предпологается вводить много значений?
>>1625556Если ты введёшь одно значение, то оно тебе напечатоет только 0и всё.Оно считает и печатает одинаковый ввод, но я не очень понимаю применение этой функции.
>>1625558Имело бы смысл запускать его зацикленным, а так один подход, так что я подумал, что это такой способ тримнуть ввод, лол.
>>1625558>>1625556Изначально условие было таковым:В единственной строке записан текст. Для каждого слова из данного текста подсчитайте, сколько раз оно встречалось в этом тексте ранее.Словом считается последовательность непробельных символов идущих подряд, слова разделены одним или большим числом пробелов или символами конца строки.> one two one tho three> 0 0 1 0 0 Смотришь на решение и все кажется таким очевидным, но это сейчас, до этого ступор был.
>>1625582Вряд ли. В общем виде "сколько раз оно встречалось" в питоне красивее всего решается через defaultdict, так что сомневаюсь, что здесь надо городить списки.
>>1625590Из базовых типов оно как-то очевиднее, чем предложенное аноном решение.Но может и под специальные, да.
>>1625598Как тебе очевидно? Мне представляется, что сколько что-то встречалось естественным образом перетекает в пары объектов: Что и Сколько_раз. А это дикт. Как ты списком хочешь это представить?
>>1625571Я тут на днях задачку решал, необходимо было вывести все слова которые НЕ повторяются. Сейчас добавил в неё буквально одну переменную и одно действие, чтобы она считала колличество повторений каждого слова, вышло пикрил
>>1625619Чем наращиваем? Куда считаем? Вот у него дикт: попалось слово, он его взял в качестве ключа, и дал ему значение 1. Попалось ещё раз? Прибавил к значению 1.
>>1625645Ну, допилился, у тебя '\' нет, например. В любом случае, не заебался кавычки и запятые ставить? Сделал бы хоть единой строкой эту толпу.
>>1625653Надеюсь ты понимаешь, что для строк длиннее 5 слов результат станет менее интересным? Лукап по дереву словаря станет существенно быстрее, чем каждый раз бегать по всему листу с подсчётом. Надо чекнуть дефолтдикт для полноты картины.
Кстати, а как можно сделать, чтобы из инпута сразу в словарь добавлялось? Захотелось допустим два слова через пробел ввести, а они потом в качестве двух ключей остались. И так много раз.
>>1625666При tstr = 'one two one two three ' * 10уже6.74695226611.926739449000001Я догадывался, что так будет, да.
>>1625669Ну вон через гет нормальный способ. >>1625670Дефолт дикт ещё даже медленне для этого оказался.
>>1625684>Дефолт дикт ещё даже медленне для этого оказался. Хотя нет, на 3й знак, но побыстрееhttps://ideone.com/orahSi
>>1625623Пиздос, как же уебищно выглядит этот пичарм из коробки, от цвета комментариев аж глаза заболели
>>1625684> Ну вон через гет нормальный способ.Добавить добавил, но два слова в один ключ переводит. Нужно сплит воткнуть, скобки или что-то еще?
>>1625771Понял тебя. Естественно сплит нужен.> Ну вон через гет нормальный способ.Я про >>1625513 говорил. Там сплит есть, как видишь.
>>1625733Я для небольших скриптов использую вскод, нах этот пичарм нужен, если у тебя проект уровня laba1.py
>>1625773Не могу понять куда именно сплит ставить. Без него только в таком виде работает, но это лишь один ключ.a = {}a = a.fromkeys([input()])
>>1625825А вообще реально через дикт компрехеншн одновременно и добавить ключи, и посчитать длину этих ключей?
>>1625239Но если книжку интересную посоветуешь для такого буду рад, желательно с практикой я если не делаю забываю сразу
Сап аноны,Не могу найти библиотеку для открытия 3d объектов.obj или .fbx для питона. Цель - вертеть 3d объект кодом и сохранять изображение в .jpg.Буду благодарен за наводки
>>1626007Я там масштабы твоей аппы не очень представляю, но почему бы просто не взять блендер и подёргать его через нативный питоний апи?https://docs.blender.org/api/current/index.html
>>1626021Насколько понимаю, я тогда буду ограничен blender'ом, а в проекте планируется также использовать opencv и в общем работа с вебкой
>>1616384 (OP)Аноны, посоветуйте материалы для вкатывания в асинхронность. Активно курю статейки и видосы по asyncio, но такое чувство, словно чего-то фундаментального не знаю, о чём в них не говорят.
>>1626035>я тогда буду ограничен blender'омДа не обязательно. Ты можешь гонять блендер порождённым процессом, как тут: https://www.youtube.com/watch?v=20nTx1x4nRYТы можешь юзать blender as module: https://pypi.org/project/bpy/И я где-то видел ситуацию, где питон снаружи цеплялся к запущенному блендеру, делал какую-то свою работу, отключался и уходил по своим делам. Но нагуглить не смог.
>>1626204Это сложная тема, её сходу не возьмешь. Нужно некоторое время и практика, чтобы прохавалось.
>>1626265Такой еще вопрос: частенько в вакансиях на бэк идут рядом Джанго и asyncio/aiohttp, но как они блин согласуются? Нормальной асинхронности в Джанге еще не скоро быть, так зачем работодателю обязательно и знание Джанги и знание асинхронок?
Способов писать С-код в Питоне больно дохрена. В чем разница между тем же ctypes и Cython? Что из этого профитнее, если я хочу например написать часть кода на С для оптимизации скорости выполнения?
Ребята, я не понял. А пичиму в одну строку не выводит? a = list('a')if len(a) == 1: print(a[0],1, end = '')
Анончики есть какой-нибудь роад мап по пайтону ? я не совсем новичок, знаю теорию по реляционным бд, сетям, линейному программированию/нелинейному, немного архитектуры, знаю sql, знаком с шарпом,
Посоны, вот граф.интерфейс когда Popen-ом что-нибудь вызываешь и ждешь перестает отвечать. Я понимаю почему, но как это исправить? Паралельностью (которую я не знаю)? Если да - то с чего начать? Threading?
>>1626813может скинешь код?Какую либу юзаешь для интерфейса? Многие либы и фреймворки поддерживают асинхронщину или трединг из коробки
>>1626417>asyncio/aiohttp, но как они блин согласуются?Ты на aiohttp можешь полноценный сервер написать
>>1626478Если ты хочешь писать на C, в прод, то конечно ctypes лучше. Он и поддерживается официально из коробки и выполняет именно то что ты хочешь - позволяет юзать сишный код в питонеНо писать на Сишке...не очень интересно, поэтому есть cython, который позволяет писать почти как на питоне, но и немного как на сиЗачем вообще оптимизировать код на питончике?
>>1626857tkinter. А какой смысл скидывать? Просто вот у меня например tar архивирует файлы и я жду пока он закончит чтобы получить returncode из-за этого зависает, но так с любой другой программой будет.