Этого треда уже нет.
Это копия, сохраненная 14 апреля 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Screenshot from 2020-10-20 19-12-20.png177 Кб, 1124x702
Питон тред №102 /python/ 1835577 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #102

Предыдущий: >>1817742 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: 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/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
https://dumpz.org/bASGKD8cCFDf
2 1835585
>>1835383 →
а если у двух разных изображений один размер?
3 1835588
>>35585
>>1835404 →
миссклик
а если у двух разных изображений один размер?
4 1835590
Ну наконец перекатил кто-то
5 1835676
>>35588
Можно хеш посчитать, хули нам.
6 1835774
Не прошло и полгода...
7 1835818
А. Вот прям с нуля начал я - установил питон - установил VS Code чтоб писать забыл как называется, собсна вопрос дальше с чего начать ?
8 1835823
>>35818
мне помогла книга "автоматизаия рутинных задач", потом читай марка лутца или как там его
9 1835826
Пытаюсь джупитер поставить, выдает эту ошибку.
Гугл не помог

ERROR: Command errored out with exit status 1:
command: 'c:\python\python.exe' 'c:\python\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\user\AppData\Local\Temp\tmpqdnw1a52'
cwd: C:\Users\user\AppData\Local\Temp\pip-install-1bq6g5bg\argon2-cffi
Complete output (25 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.9
creating build\lib.win-amd64-3.9\argon2
copying src\argon2\exceptions.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\low_level.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_ffi_build.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_legacy.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_password_hasher.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_utils.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\__init__.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\__main__.py -> build\lib.win-amd64-3.9\argon2
running build_clib
building 'argon2' library
creating build\temp.win-amd64-3.9
creating build\temp.win-amd64-3.9\extras
creating build\temp.win-amd64-3.9\extras\libargon2
creating build\temp.win-amd64-3.9\extras\libargon2\src
creating build\temp.win-amd64-3.9\extras\libargon2\src\blake2
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iextras\libargon2\src\..\include -Iextras\libargon2\src\blake2 -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\include /Tcextras\libargon2\src\argon2.c /Fobuild\temp.win-amd64-3.9\extras\libargon2\src\argon2.obj
argon2.c
extras\libargon2\src\argon2.c(18): fatal error C1083: ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«о祭ЁҐ: string.h: No such file or directory,
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.27.29110\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
----------------------------------------
ERROR: Failed building wheel for argon2-cffi
Failed to build argon2-cffi
ERROR: Could not build wheels for argon2-cffi which use PEP 517 and cannot be installed directly
9 1835826
Пытаюсь джупитер поставить, выдает эту ошибку.
Гугл не помог

ERROR: Command errored out with exit status 1:
command: 'c:\python\python.exe' 'c:\python\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\user\AppData\Local\Temp\tmpqdnw1a52'
cwd: C:\Users\user\AppData\Local\Temp\pip-install-1bq6g5bg\argon2-cffi
Complete output (25 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-3.9
creating build\lib.win-amd64-3.9\argon2
copying src\argon2\exceptions.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\low_level.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_ffi_build.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_legacy.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_password_hasher.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\_utils.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\__init__.py -> build\lib.win-amd64-3.9\argon2
copying src\argon2\__main__.py -> build\lib.win-amd64-3.9\argon2
running build_clib
building 'argon2' library
creating build\temp.win-amd64-3.9
creating build\temp.win-amd64-3.9\extras
creating build\temp.win-amd64-3.9\extras\libargon2
creating build\temp.win-amd64-3.9\extras\libargon2\src
creating build\temp.win-amd64-3.9\extras\libargon2\src\blake2
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Iextras\libargon2\src\..\include -Iextras\libargon2\src\blake2 -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\include /Tcextras\libargon2\src\argon2.c /Fobuild\temp.win-amd64-3.9\extras\libargon2\src\argon2.obj
argon2.c
extras\libargon2\src\argon2.c(18): fatal error C1083: ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«о祭ЁҐ: string.h: No such file or directory,
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.27.29110\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
----------------------------------------
ERROR: Failed building wheel for argon2-cffi
Failed to build argon2-cffi
ERROR: Could not build wheels for argon2-cffi which use PEP 517 and cannot be installed directly
10 1835844
>>35826

>extras\libargon2\src\argon2.c(18): fatal error C1083: ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«о祭ЁҐ: string.h: No such file or directory,


Вангую, что путь содержит кириллицу
11 1835849
extras\libargon2\src\argon2.c(18): fatal error C1083: ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«о祭ЁҐ: string.h: No such file or directory,

думаю, эта строчка поможет
12 1835858
>>35849
я камень видимо, но не помогло.
Я подумал о кодировке и кириллицу, но в пути ведь нет кириллицы
13 1835868
Как научиться составлять однострочники все таки, что эта опыт?

Ебался с такой катой

Given a string of digits, you should replace any digit below 5 with '0' and any digit 5 and above with '1'. Return the resulting string.

решил так
https://www.codepile.net/pile/5xXGZOvb

Посмотрел в решениях у других, челики рили такое решают в одну строчку. Я еще сидел экспереминтировал в ипутоне больше часа. Хоноры дали, но слишком долго и многословно что то. Как прокачаться и начать мыслить быстрее? Много времени уходит на приведение одного типа в другой и обратно, то ли понимания нету то ли опыт то ли хз.
image.png160 Кб, 312x445
14 1835869
>>35818
зис
книжка ток в этом году вышла
сам её летом прошёл
15 1835870
>>35868
Нужна регулярка. Ты просто зачем-то сразу решил делать через инты, а не символы и не нашёл нужного инструмента.
16 1835872
>>35868
Решил твою задачку за минуту: "".join(["0" if int(x) < 5 else "1" for x in list(digits)]). Также можно решить при помощи регурярки >>35870 но этот вариант лучше.

>Как научиться составлять однострочники все таки, что эта опыт?


Чисто опыт. Необходимо не только писать код, но и постоянно читать туториалы/документацию. Иначе про некоторые полезные вещи вообще никогда не узнаешь.
17 1835873
>>35872
Да, такое решение у анонов с кодворза. Ну есть к чему стремится. Я зацилен на переменных как у лутца) и на приведение типа. Но в целом, логика такая же как и в одну строчку, с проверкой и созданием нового списка.
18 1835890
>>35869
Может в книги треда ее залить, если нету?
19 1835924
Вопрос про ботов в телеграме. Хочу отправить пачку фоток через их URL, есть структура данных (?) InputMediaPhoto. Как скастить в этот формат список URL?
20 1835953
>>35890
Залей, я не против.

>>35924
Юзать модуль-обёртку для написания телеграм бота
21 1835957
>>35924
Видимо вот так: [InputMediaPhoto(url) for url in urls]
22 1836097
Объясните, нужно ли писать object в декларации класса?
Типа class A(object)
В книге, которую я читал, говорили, что нужно. Это отличие между старыми классами и новыми.
Но когда я начал смотреть видосы этого года, то никто не пишет object.
Как правильно и почему?
23 1836107
>>36097
Когда ты пишешь в декларации класса что-то в скобках - ты наследуешься от этого класса в скобках, хз как раньше, но сейчас все классы наследуются от object, писать этого не надо, если не хочешь наследоваться от его-либо специально(например хочешь свою убер строку сделать с каким-то методом)
image.png186 Кб, 769x765
24 1836133
>>35577 (OP)
Я нашел для себя решение в изучении чего-то нового. Решил поучить Python и вроде помогает, реально отпускать стало. Но вот в чем беда, я скачал учебник чуть ли не по первой ссылке, поставил PyCharm, анаконду3, питон 3.9, но, сука, чем ближе я был к 10-ой главе, тем больше у меня вопросов появлялось "а это тут, блядь, откуда?".
В седьмом уроке используют лямбда-функцию и сразу же говорят, мол, что такое лямбда-функция вы узнаете в 10.4. То есть просто пустой пример, который я просто понять не смогу на 100% потому как нихуя еще не объяснили. Сейчас дошел до десятого урока с функциями и ебался полчаса с фибоначчи. Дело в том, что нигде не сказано что и как и где использовать - то есть если я в командной строке вбиваю, то там заебывает отступы делать, а в PyCharm, естественно, приходится создавать переменную для ввода (а ведь нигде мне этого не говорят, пришлось самому дойти). Там вообще автор внутри функции расчет двух ближайших чисел делает, сука, опять же с функцией и у него зачем-то сделано так fibb(n - 1) + fibb(n - 2), в самом начале есть проверка на ноль, единицу и двойку, но, блядь, получается что вот это ELSE еще и внутри скобок проверяет что написано. Ввел просто return n + (n - 1) и все заработало как часы.
Но, блядь, я тут не ради бугурта.
Хотел спросить - есть прям для отбитых ебланов вроде меня учебники, чтобы там все последовательно объясняли в примерах?
Я же ебнусь.
Вон уже в лямбда-функции этот даун какой то prod = 1 пишет, а я не ебу что это.
25 1836134
>>36133
Вы блять шапку читать будете?
В шапке ясно написано какую книгу читать надо.
26 1836138
Такой вопрос как реализовать по синтаксису такую вложенность как
for x in lan:
for y in x:
for z in y:
пискька писька писька

Чтобы было так сосиська = [вот чтобы так как сверху было тут, как это сделать для писки в y]
27 1836141
>>36134
Где там конкретика? Нет там такого запроса "учебник для отбитых ебланов". Вот и ебись перелистывая все что нарыли за столько лет. Я тут у людей с опытом спрашиваю, ибо то что я сейчас читал - пиздец.
28 1836146
>>36133
Это не учебник, это конспект какой-то. "Вот есть такая штука как функция. А вот хвостовая рекурсия. А теперь следующая тема", как ты ещё держишься после такого.
>>36138
[z for x in lan for y in x for z in y]
29 1836148
>>36146

>"Вот есть такая штука как функция. А вот хвостовая рекурсия. А теперь следующая тема", как ты ещё держишься после такого.


Я чет подумал сначала что просто недостаточно внимательно читаю, поэтому начал уже в интернете смотреть, но да, дошел до момента когда просто уже не понимаю что хочет автор донести и решил прям совсем для начинающих учебник найти.
30 1836154
Срочно хелп, написал скрипт небольшой, писал на линуксе и теперь пытаюсь запустить его на винде, проблема в том что pip не устанавливается с питоном(в cmd pip help и остальные команды не работают), что делать у меня сроки горят щас, в чем может быть проблема, мне надо написать инструкцию по установке скрипта на виндус, помогите пожалуйста
31 1836157
>>36154
Пиздец, у меня из cmd пишет что даже python нет команды, при установке нажимал кнопку добавить в path, почему на винде вообще люди сидят я не понимаю
32 1836158
>>36148
Ничего не могу посоветовать, те книги, что совсем для новичков, максимально скучные, когда дойдешь до чего-то интересного, уже силы на исходе. Я бы лучше выбрал совсем маленькую задачу для решения и уже по ней читал что необходимо. Хоть понятно что зачем нужно.
>>36154
Если десятка, то из магазина приложений скачай и не страдай. И попробуй в powershell команду выполнить (get-command python).path
33 1836175
>>36158
Все решилось, когда я перезапустил cmd, я просто в шоке с винды
Screenshot20201021-154350~2.png321 Кб, 1440x2560
34 1836187
>>36141
Что не ясно?
35 1836191
36 1836193
>>36187
Когда начинал изуть по укусу тоже было непонятно некоторое как и анону выше, автор что-то рассказывает про цифры, а потом начинает какие-то строковые методы юзать и ты читаешь думая что ты что-то пропустил
37 1836230
Поясните, как работает .update?
Почему оно то перетасовывает всё, то оставляет на местах, то ещё как-то делает, я не понимаю.
image.png12 Кб, 505x246
38 1836231
>>36230
почему цифры идут нормально, а если слова, то пиздец?
причём слова почти всегда в конце.
39 1836245
Чем можно регэксить спецсимволы типа {}"",/.?
В \w их нет.
40 1836246
>>36231
Это множества, в них порядок не гарантирован
41 1836249
Какой самый продвинутый opensource фреймворк для создания ботов?
Очень интересует общий интерфейс для нескольких чат платформ и возможность написания своих адаптеров

+ какая-нибудь встроенная поддержка/примеры с nlu
42 1836250
>>36231
Есть подозрение, что раз множество - хэш таблица, а хэш числа почему-то равен самому числу (1).__hash__() == 1, то поэтому цифры идут нормально.
>>36245
экранированием?
43 1836251
>>36231
Потому что от множеств не требуется порядок, их делают для упрощения операции проверки вхождения.

Ах да, охуительный момент: порядок элементов множества меняется от запуска интрепретатора к запуску интерпретатора, потому что там используются рандомизированные хэш-таблицы. А в дикте гарантируют сохранение порядка добавления ключей.
44 1836282
>>36246
>>36250
>>36251
окей, хэш, нет порядка, но почему в конце всегда есть 2 слова?
45 1836420
Начал тут изучай питон. (Раньше я только с вашей помощью "допесывал" чужой код под свои нужды)
Ну и начал с основ. Тем более у вас под любую хуету есть функции, методы. Охуенно. Полез на кодварс и сижу кайфую.

Обьясните дегенерату. Почему 1 не работает адекватно, и не находит длину кратчайшего слова, а второе нормально работает? По сути нет разницы ведь. Элька только потом, после всех слов должна выйти из цикла и ретурнутся. А по итогу она находит первое же слово меньше 10(Потом сменил на 99 чтобы наверняка) и идет радовать проверку. ЧЗХ?
46 1836423
Посоветуйте легкую иде для слабого ноута 32 бита
47 1836432
>>36423

>Посоветуйте легкую иде для слабого ноута 32 бита


Встроенную в пистон юзай
48 1836441
>>36420
Потому что первая функция возвращает последнее слово, длинна которого меньше 10, а вторая находит слину первого слова, если 2-е будет короче, то запишет в а переменную длину 2-го и так пока не надет самое короткое
49 1836461
>>36441
Бля, я дегенерат, не заметил что обьявил а, но никак не менял его в цикле.
Спасибо. :3
50 1836499
Как это на питоне написать? Я не могу уже.
for (int i = 0; i < array.length; i++)

чтобы i была, для алгоритма перебора нужно
51 1836505
>>36499
for i in range(array.length)
image.png7 Кб, 643x59
52 1836510
>>36505
мда
53 1836515
>>36510

>мда


Замени string.length на len(string). А вообще, лучше пиздуй читать туториалы. У тебя знания на нуле.
54 1836518
>>36510
Размер в питоне не метод, а функция len()
1603311236876.jpg170 Кб, 977x889
55 1836520
Только посмотрите на этого Чэда
56 1836525
>>36515
я просто к этому синтаксису не могу привыкнуть
57 1836529
Я не понел.
Я ебанул у себя на компе лист из 1910 чисел. (i3, и 4гб оперативы)
Вмиг выполнилось.
А тут видите ли таймаут.
Кто-нибудь может попробовать ради досуга выполнить этот тест и сказать что все окей? Или просто создатель теста пидор и поломал проверку?
https://www.codewars.com/kata/5ce399e0047a45001c853c2b
58 1836534
>>36529

>А тут видите ли таймаут.


У тебя потенциально бесконечный цикл. Твой алгоритм не работает на каком-то из тест кейсов.
изображение.png46 Кб, 1819x711
59 1836540
>>36534
Ну хуй знает. Ладно. Щас посмотрим.
Но базовые тесты он выполняет. (Нулевые листы, простые, большие листы. мой лист с огромным кол-вом цифр, минусовые листы)
Meh.
60 1836543
Какие есть курсы или книжечки для вката в aiohttp? И прочее такое.
61 1836550
>>36543
Понимание как работает средний питонячий микрофреймворк + понимание питонячьей асинхронности и умение не наебаться на race condition
62 1836551
>>36540
Лист с 60000 цифрами таки уводит питон в даун. Он ОЧЕНЬ долго обрабатывает.
Но каким макаром я должен написать прогу так чтобы медленный питон смог обработать такой лист за 12000мс?
63 1836552
Так и не пояснили в чем суть кумитэ на кодворзе
64 1836553
>>36552
Чем меньше - тем сложнее. Ты про это?
65 1836554
>>36525
после плюсов несколько месяцев привыкал
66 1836555
>>36553
Нет, это типо батла или что? Или то же что и каты только другое) что это вообще такое то?
67 1836573
>>36499
for i, a in enumerate(array):
68 1836583
>>36551
ну вот нахуя каждый раз сумму вычислять например?
достаточно и одного раза за обращение к функции.
69 1836584
>>36583
Но там же меняется список. Там нужно первые части списка удалять за прокрут, пока их не останется.
Сумма по итогу будет меняться. Как мы один раз за вызов обращаться будем?

Бляяяяя. Ведь можно удалять передние и тупо вычитать из суммы. Щас. Погоди.
70 1836585
Зачем постоянно дрочить добавление/удаление? Это хуевоскпзывается на скорости. Просто создай второй список с нулями на один больше первого и проитерируйся с предпоследнего элемента, присваивая list2 = list2[i+1]+list1
71 1836586
>>36585
Квадратные скобки с i проебались, но думаю и так понятно
Screenshot20201022-041418.jpg209 Кб, 1080x2376
72 1836587
изображение.png49 Кб, 1291x629
73 1836589
Решил. Здравая идея про суммирование один раз. >>36583
Благодарочка.
Извиняюсь что насрал, просто интересная задача.
>>36587
Я так же сделал.
74 1836590
>>36589
Зачем ты индексы юзал, если можно просто по списку итерироваться?
75 1836591
>>36590
Я не умею.
Щас почитаю.

Это нужно?
76 1836592
>>36591
Это делает код красивым, ещё про сокращённое присваивание посмотри, это штуки вроде *= -= += и тд
изображение.png13 Кб, 897x231
77 1836593
Как переустановить сломавшийся pip на винде?
78 1836594
>>36589
На питоне 3.8 можно сделать в одну строчку и с аналогичной производительностью:

(lambda s: + [s := s - l for l in ls])(sum(ls))
image.png3 Кб, 531x40
79 1836595
>>36594
Фикс.
80 1836596
>>36595
У нас за такие однострочники убивают, исключительно олимпиадная хуйня
81 1836597
>>36596
Почему олимпиадная? Там есть ограничение на количество строчек?
82 1836600
>>36596

>У нас


У вас в манямирке еще не научились в генераторы или что?
83 1836610
>>36597
Меня просто корежит с такого названия переменных и юзания длинных однострочников
84 1836618
>>36600
Причем тут генераторы? Просто такие однострочники сложнее читать + изменять.
Вот это >>36587 выглядит намного лучше.
Screenshot from 2020-10-22 07-34-52.png10 Кб, 549x111
85 1836630
В 3.8 лучше вот такой однострочечник делать, используя стандартную библиотеку

В 3.8 добавили в itertools.accumulate параметр initial, без него сложнее, надо уже более извращённую функцию самописную подставлять, что менее читаемо и медленней.
Screenshot from 2020-10-22 07-50-38.png18 Кб, 553x164
86 1836634
>>36630
Хотя вру, в старых версиях питона ничуть не сложнее, но надо на вход другой подать список, где первым будет инициализирующее значение. Чуть менее наглядно просто
87 1836655
>>36634
Блять вы тролите чтоли со своими обосрачниками? Нахуя они вам сдались? Есть ли аргументы в их пользу?
image.png30 Кб, 638x291
88 1836682
Есть массив, который хранит буквы слова.
Нужно, чтобы после ввода этот элемент удалялся.
прописываю через pop и remove, но меня шлют нахуй
89 1836686
>>36655

>Нахуя они вам сдались? Есть ли аргументы в их пользу?


Однострочники нужно писать когда они выполняют понятное действие, которое можно описать одним предложением. Хорошо написанные однострочники читаются легче, чем говнокод с циклами. Вдобавок, код получается компактнее без ущерба читаемости, а значит его легче поддерживать.

Однострочники не нужно писать исключительно ради запихивания кучи кода в одну строку. Не можешь коротко описать что делает строка - не пиши однострочник. Но и говнокод вроде этого >>36589 >>36587 писать тоже не нужно.
90 1836698
>>36682
Ты проходишь по списку попутно удаляя из него элементы, не надо так делать. range(len(array)) - тоже делать не надо, есть enumerate. Попробуй сделать с помощью filter или list comprehension. Или обожди немного, тебе однострочник принесут.
91 1836714
>>36682

>но меня шлют нахуй


Как именно?

Что такое random_array и dash?

Вообще, глянь на модуль random, и функции оттуда вроде random.shuffle и random.choices. Возможно они делают то, что ты хочешь сделать сам, при этом не самым оптимальным образом.

Ещё у тебя не питон-стиль кода. Вместо
for i in range(len(xxx)):
____print("{}-value is {}".format(i, xxx)

лучше делать
for i, x in enumerate(xxx)
____print("{}-value is {}".format(i, x])

Но это чисто стилистические придирки
image.png17 Кб, 424x467
92 1836717
>>36714

>random_array


слово, каждая буква которого это элемент массива.
dash это прочерки.
нужно просто сделать, если элемент уже был использован, чтобы он не использовался снова, хотел его из массива удалить, но ошибка.
делал через set, оно удалялось, но через сет позиция элементов была не верной и это не имело смысла
93 1836721
Как это записать?
Выводится строка в которой каждая четвертая буква, кроме пробелов, удваивается.
image.png17 Кб, 482x254
94 1836724
>>36682
>>36717
Можно сделать при помощи Numpy.
95 1836726
>>36686
так нука напиши лучше, че на >>36587
Muttley.gif15 Кб, 138x213
97 1836733
>>36721
''.join([l*2 if not (i+1) % 4 and l != ' ' else l for i,l in enumerate('моя замечательная строка')])
98 1836746
>>36728
не, хуита, читаемость хуевая, я вообще не знаю че за акумулейт
99 1836834
Стоит ли сдавать тест от Python Institute? Думаю PCAP пройдк
100 1836861
>>35957
все получилось.
101 1836953
Актуален ли Python в вебе? Нравится изучать Django и пилить с помощью него сайты, но вот инфа в интернете сбивает с толку, что лучше "КО-КО-КО Интерпрайз, больше работы, Java, больше работы" и типа Python больше для машинного обучения юзается.
102 1836956
>>36953
Да, актуален
103 1836959
>>36746
Стандартную библиотеку очень полезно знать, дурной стиль её не знать.

На практике, впрочем, ты пишешь отдельную функцию, внутри которой или пять строк, или одна, называешь понятно, и потом просто пользуешься, не заглядывая внутрь.

Однострочечники нужны скорее для рутины, чтобы меньше воды в коде было и он понятнее был. Те же генераторы списков и словарей великая вещь, благодаря своей компактности.
104 1836992
Не могу сообразить.
Как впихнуть счетчик в строку?
Чтобы число в строке увеличивалось на 1, n +1.
Типо так
"1table2table3table"
Юзал f'' но там впихивается например весь список. Хз как сделать, сломал голову уже. И вайл пробовал и списки и генераторы и range.
105 1836993
Почему pienv фиксирует вместо версии "*"? Можно ли его заставить запоминать хотя бы мажорную версию? Или только руками?
image.png341 Кб, 486x695
106 1837004
Снова выхожу на связь. Вроде разобрался как с БД работать.
Суть в том что у меня есть эксел файл куда я вписываю каждый месяц сколько у меня денег в трёх разных заначках. Решил сделать телеграм бота, который делает тоже самое.

У меня нет второго акка в телене, так что не знаю на сколько успешно бот работает с несколькими юзерами, возможно он сразу упадёт.

Все что требуется, это потыкать пару раз /add и /show можете еще перед этим фейковые данные вставить /fill

Сам бот https://t.me/money_buckets_bot
Код https://github.com/gmovchan/PersonalFinance

>>1833647 →-кун
2020-10-2216-33-41.png5 Кб, 444x124
107 1837014
2020-10-2216-35-29.png6 Кб, 322x185
108 1837015
109 1837028
>>36953

актуально, в целом, но джанга сдувается.
много проектов на фастапи или graphql на старлет
16033744114350.mp41017 Кб, mp4,
720x406, 0:11
110 1837046
Часто спрашивают "Что должен уметь ждун?".
Пример идеального ждуна, пикрил.
111 1837063
>>37046
Часто спрашивают "Что должен уметь автоэлектрик?".
Пример идеального автоэлектрика, пикрил.
16002665598800.webm2,3 Мб, webm,
460x812, 0:19
112 1837065
113 1837070
>>37046
ебал я такой метод форматирования.
лучше f- сторок ничего нет.
114 1837099
На чем лучше писать алгоритмы из линейной алгебры? Numpy норм или есть что-то более специализированное?
Или вообще все хуйня и писать на C++ std::vector?
115 1837101
>>37099
Если хочешь дрочить цифры и не вылезать особо из питона то юзай cython
Screenshot1051.png7 Кб, 789x169
116 1837255
выдает ошибку на 3 строчке при отладке. хелпуйте. что я сделал не так?
117 1837288
Как сделать проверку по трем массивам?
Вот у нас есть три ренжа, как написать
if zalupa == range1 or zalupa == range2 or zalupa range3:
do something pizdets.
118 1837336
>>37028
Тогда можно сказать что Flask/Pyramid заменит Django?
119 1837347
У меня такой вопрос.

Как в питоне впихивают код С и явы для ускорения? Это сильно сложно, напр если написать что-то на С, как можно это реализовать или интегрировать с питоном.

И если питон такой крутой, расширеямый и тд, то почему он не намбер ван пока? Ведь рили, он может все, что могут другие, при том проще в разц и понятнее, а главное порог - практичеки нулевой. Не считая знания высших математик и алгортитмов. Но если не изобретать велосипедов, но способов метамыслить от силы 7 не более, простая логика. А?
120 1837352
Бля, играю на кодварс, пишу решения в лоб по 20-30 строчек.
Захожу в решения, а там решения в одну строчку. В пять строчек максимум.
Блееее.
121 1837353
>>37352
Все норм чел, сейм шит. Уже стало получаться практически в одну строчку. Ты не один.
122 1837354
>>37352
Мне кажется эти кодварс ничему не учат. Лучше книжку почитать.
123 1837356
>>37354
Вот тут ты ошибаешься если не троллишь)
Наоборот, после укуса питона, онли кодворз и практика. Только так, знал бы раньше не потратил 3 года впустую давно бы уже кодил и мб даже наашел работку.
124 1837358
>>37353
Ну реально. Пишу код. 10 строчек. По итогу.
В решениях ровно одна строка которая является функцией, что исполняет саму задачу.
Или всякие константы которые на нет сводят мою еблю с проверкой через циклы.
return pizdets is ascii
И все ебать.
Да, по скорости одинаково ибо в этих функциях все такие же проверки через циклы.

Где бы найти списочек всяких полезных функций?
125 1837359
>>37288
if zalupa in(range1,range2,range3):
do something pizdets.
126 1837360
>>37356
Ты тот года одну книгу читал?
127 1837361
>>37358
стандартная библиотека питона в помощь, вместо дрочки на ночь, читаешь про 2-3 метода.
На практике их повертишь , в голову отложится, что такая еба есть и реализовывать ее с нуля не надо.
128 1837362
>>37359
Благодарствую :3
129 1837365
>>37358
Ну а гугл?
Во многих заданиях есть подсказки да и по контексту можно найти нужную либу.
130 1837370
>>36630

> Ваш однострочник говно


> Вот мой однострочник, импортирующий 2 либы для того же самого - заебись


С какими, блять, шизоидами я тут сижу. У одного, блять, читаемость хуевая, другой это делает. Боже.
131 1837383
>>37004
бамп
132 1837419
>>37347
Яву в питон? Нахуя?
1) питон медленнее Java, C++, C#
2) про расширения есть в документации
3) питон около интерпрайз. В плане функционального языка его потеснил Go, для крудхуяков есть Spring.
Сам не рад, но такая ситуация. Например в ДИТ стэк Spring/Angular и вряд ли ситуация изменится.
Никто не хочет отходить от SOA к микросервисам.
Это накладные расходы.
Питон кстати в плане оверхеда тот ещё пиздец. В одно рыло написать код куда ещё не шло, а вот по ресурсам он очень прожорлив. 3.9 кстати медленнее 3.8 и в релизе так и не решили проблему с многопоточностью.
Может 3.10 будет поживее. Алсо, если в шарпе и Яве ещё нужны все алгоритмы от gang of four, то это не про питон. Тут все проще и не надо изобретать велосипед. Код понятнее, абстракции реже встречаются.
Опять же, в плане расширения хуже.
133 1837422
>>37347
Гугли cython, juthon
134 1837423
>>37356
Чем кодварс помогает на практике? Я понемногу вкатываюсь в эти ваши генераторы и т.д, но чтобы написать большую часть простой хуйни сложные решения и не нужны, да и код проще поспринимать как по мне без генераторов с лямбдой на 100 символов, уж лучше написать нормальный цикл и четко прописать что с чем происходит
135 1837424
>>37423
Тем что я практикуюсь, а так я прочитал книгу и сижу. А по итогу, если суть да дело - я нихуя не смогу, а так я уже хоть что-то делаю, читаю ту же книгу, но просто по гуглу) и пишу код, хотя бы так, пока бесплатно.
136 1837429
>>37424
То что я узнал, я постоянно закрепляю, копаюсь в гугле, изучаю и перечитыавю. Где-то углубляюсь. Так что польза есть, это практика. Качаю стандартную либу и тд и тп. Надеюсь поможет. Это лучше чем ничего.
137 1837430
>>37423

>да и код проще поспринимать как по мне без генераторов с лямбдой на 100 символов, уж лучше написать нормальный цикл и четко прописать что с чем происходит


Это сейчас проще, но через два-три года тебя заебет постоянно писать циклы.
138 1837431
Как пофиксить если вылазиет KeyError 2
Дело вот
функция возращает ключ, те аргумент функции - это ключ. Трабла если не ключ а просто число например, если число надо написать строчку. Как пофиксить?
139 1837436
>>37424
В хороших книгах есть упражнения.
140 1837437
Если столько еботы на кодворзе, то сколько ее будет в офисе?
Например, если я туплю уже второй день, и если так будет в офисе, то что будет? Просто хз, есть сложные вопросы, если я их не смогу решить, то... меня тупо дропнут? Или помогут?
141 1837442
>>37423

>уж лучше написать нормальный цикл и четко прописать что с чем происходит


Ты молодой-зеленый, поэтому не понимаешь чем императивное программирование сосёт в 2к20.
142 1837460
>>35577 (OP)
Сап двач

Выбираю инструмент чтобы запилить на коленке учет орг техники (очень простой).

Думаю взять sqlite и python. Нужен фреймворк ui чтобы под виндой и линкусом запустился. Что посоветуете?

Там по сути crud приложение получается. Добавлять данные в таблицу, перемещать их в другую, занося лог в третью. Все.
143 1837490
>>37442
Ну а ты расскажи
144 1837492
>>37460
Эксель
145 1837498
146 1837508
>>37492
Хуэль

Исторю перемещения аппаратуры тоже в экселе писать будешь?
147 1837527
>>37460

> на коленке


tkinter
148 1837548
>>37508
Да. А в чём проблема?
149 1837550
150 1837558
>>37442
И поэтому ты сидишь на языке, где от функциональго программирования только огрызки и нет даже многострочных лямбд
151 1837560
>>37336
Нет
152 1837596
Что нужно знать/уметь для получения всяких вакансий за 20к?
Видел такую, прям загорелся. Чисто опыт и деньги на простую еду.
153 1837606
>>37596
Python на нормальном уровне, базу Flask/Django
154 1837625
>>37596
В вакансии, которую видел, должно быть написано, что надо уметь и знать.
155 1837676
asw=string.translate(None, 'aeiouAEIOU')
Бля, в интернете пишут как убрать гласные. А компилятор пишет что транслейт жрет только один аргумент. При создании тейбла низя выбрать пустую строку, или none. Нужно одинаковый размер.
re.sub какую-то хуйню пишет.
Строки в питоне не изменяются и ебануть цикл аля С низя, или я тупой(Охуенное решение, ога, сделать строки неизменяемыми)
Бля, я не понимать.
156 1837678
А. Стоп. Тейбл жрет deletechar.
Все, сорян.
157 1837695
Как это? Как так то?
158 1837700
>>37596
Программисты, которые ничего не умеют, не нужны, даже бесплатно.

Могут быть нужны сотрудники другого профиля, которым нужно немного уметь программировать для своей основной занятости - там какие-нибудь скрипты для автоматизации слепить, что-нибудь для сайта, данные откуда-нибудь спарсить, посчитать что-нибудь и т.п.

Но с этим лучше в два первых треда.
159 1837712
>>37695
Смотри доки. Метод translate принимает словать, где аски-код входа, то есть число, отображается на аски-код того, что будет в результате.

Есть специальный метод str.maketrans для подготовки подобной таблицы.

Очень всё криво и убого, не понятно, почему не выпилили.

Лучше используй другой подход
вариант A, топорно, в функциональном стиле:
s.replace('a', '').replace('A', '').replace('o', '') ...
и т.д.

Или императивный вариант:
"".join([letter for letter in s if letter not in "aueoAUEO"])
160 1837717
>>37712
Ну там в решениях написано два аргумента. Значит у них это работает. А если скопирую решение то оно не запустится. Как это? Баги в Кате?
(По итогу решил с помощью создания таблицы которая оказывается может принимать три аргумента. И последний аргумент это символы которые надо удалить)
За второе спасибо. Неплохо выглядит. Надо почитать join.
image.png10 Кб, 968x82
161 1837769

>When parse_args() is called, optional arguments will be identified by the - prefix, and the remaining arguments will be assumed to be positional:


>ValueError: invalid option string 'PATH_UNPACKED': must start with a character '-'


Тупое говно тупого говна
162 1837778
А вообще стало получаться, и так проще рили
double_char = lambda s: ''.join([x+x for x in s])
И читается вроде норм и что делает тоже понятно. И в одну строчку. Буду качать дальше.
164 1837787
>>37004
бамп
165 1837879
Анончик, подкинь пожалуйста идею для пет-проекта на джанго/фласк. Блог/туду как-то скучно делать
166 1837888
>>37879
бот для телеги
167 1837920
>>37769
Чё бомбишь?
Если ты хочешь, чтобы это были опциональные аргументы - не выёбывайся и ставь '--' в начале.
168 1837926
>>37879
Каталог, какие книжки есть, а какие надо бы спиздить.
Можно опционально добавить парсинг всяких амазонов или каталогов на предмет обложечек-категорий и сканирование локальных пдфок.
Сам всё хочу сделать, но лень.
169 1837969
Можно ли разделить строку по разделителю, но чтобы сам разделитель остался, просто перед ним появился бы пробел?
170 1837975
>>37969
Што?
171 1837976
>>37975
Есть строка. Допустим хуй\рот\жопа
Как разделить по слешу чтобы получилось хуй \рот \жопа
172 1837981
>>37976
Добавь пробелы перед разделителем.
173 1837990
>>37976
Ну простой и не слишком убогий вариант это заменить твой разделитель на новый + твои добавки.
Т.е. str.replace('/', '\x00 /').split('\x00')
174 1837996
>>37990
Понял. Пасеба :3
175 1838005
Кто-нибудь юзаете graphene? Как-то херово его pycharm поддерживает. Может надо что донастроить?
Там, вообще нет никаких по полям, при написании запросов не подхватывает - грусть. На js как-то веселее было.
177 1838029
>>37550
Должно быть, ты хотел сказать PySide2
178 1838078
>>35577 (OP)
Друзья, здравствуйте.
Нужно для пары олимпиады выучить на базовом уровне данный чудо язык, особо дел с ним не имел, в основном всякие паскали, с, баши итд.

Какую книжку выбрать чтобы за пару дней вникнуть максимально кратно, но понятно?
179 1838136
>>37920
Спасибо за ответ, но я уже всё пофиксил.
Документация плоховато сделана. Реально можно делать позиционный аргумент опциональным через nargs='?', но это ещё прочитать надо.
180 1838163
>>38026

Поставил, теперь могу быстро переходить между полями-резолварами и генерить стабы для последних, нормального автокомплита не появилось.

Ты не юзаешь?
181 1838181
182 1838195
>>38181
Мне бы не фор беггинерс, некоторые знания уже есть. Желательно где меньше воды и больше практики
183 1838203
>>38195
Пропусти объяснения и сразу переходи к упражнениям.
изображение.png76 Кб, 710x702
184 1838212
Что-то мне кажется что тут без сторонних библиотек не обойтись.
Ибо писать самому простенькое, но все же решение уравнения с неизвестным количеством переменных прям как-то сложновато.
Кроме как нахуярить огромное количество ифок. Но это будет сложно.
Видимо не время для 4 уровня.
185 1838213
>>36191
Какие плюсы по сравнению с другими?
186 1838237
>>38212
У тебя же всего 10 вариантов, не?
изображение.png24 Кб, 975x237
187 1838242
>>38212
9 вариантов если корень один(3 оператора*3 варианта)+еще 9 если корней два.
Учитывая что там какой-то ебанутый выбор если корней два и так как они представлены областью(самое меньшее число нужно отдать.) (Единичка в нижние тесты тоже лезет, но там двойка. Как бля?)
Еще и корней может не быть, да и корни должны быть подходящей длины, и не являться флоатом. Я охуею это все ифать.
188 1838243
189 1838246
>>38242
О, еще не заметил что ? может быть и в почти полном числе.
190 1838252
def solve_runes(runes):
for x in range(10):
try:
if (str(x) not in runes) and not(x==0 and '=??' in runes) and eval(runes.replace('?', str(x)).replace('=','==')):
return x
except:
continue
return -1
1.png10 Кб, 972x146
191 1838253
192 1838256
>>38213
буткамп
193 1838259
>>38212
Решать такие задачки не имеет никакого смысла.

Все эти задачи можно условно поделать на три категории: легкие, продвинутые и олимпиадные. Легкие можно решать для вката в программирование - при помощи них хорошо практиковать выбранный язык. Средние хороши для опытных программистов чтобы оттачивать навыки и искать красивые / эффективные решения. Такие задачки также помогут для подготовки к собеседованию в FAANG или похожие российские конторы. Олимпиадные задачи - говно без задач. Они не имеют ничего общего с программированием и их не спрашивают ни на каких собеседованиях.

Конкретно эта по сложности относится к продвинутым, но по идиотизму аналогична олимпиадным.
изображение.png27 Кб, 1825x425
194 1838261
>>38253
Чиво? Это как?
Эльфийский какой-то.

Мы тупо ставим цифры от 1 до 10 и проверяем выражение пока не прокнет? А если не подходит то возвращаем -1 по требованию задания? Как я не додумался что цифра на вопросиках то одинаковая. А я собирался уравнение решать. Блееее я тупой.
Кстати, где эта проверка результата? Я не вижу. Можно строчку вбить и питон сам решит?

Охуенный язык, блеее. Любую хуйню можно сделать в 1-2 строчки.
Хочется так же.

Спасибо :3
(Я тем временем разбивал уравнение на 5 составляющих в листе и сидел тупил. Хотя и так наверняка можно было тупо пройтись по листу просто перебирая варианты.)
>>38259
Ну вроде только 4 уровень, типо смотрю как высоко можно поднятся без знания языка. (Я максимум в универе на си пишу, и то понабрал кучу долгов и собираюсь в академ ибо не могу нормально спрограммировать все эти охуенные ссылки которые непонятно как работают в кодах всяких стеков и прочего)
Хотя я не вижу связи между этим и программированием приложений. Почитаю книжку которую советовали другому анону, может поклацаю.
195 1838266
>>38261

>Ну вроде только 4 уровень, типо смотрю как высоко можно поднятся без знания языка.


Если твоя цель выучить питон - читай документацию, она у питона просто охуенная. За неделю поймешь все основные аспекты.

Если хочешь научиться подобные задачи вплоть до самого сложного уровня (но зачем?), тогда начни с изучения computer science. Ищи программу топового вуза вроде стенфорда, выбирай оттуда курсы по теории и алгоритмам и ищи материалы по этим курсам.
196 1838310
Как там pycharm работает? Все ресурсы пк забирает или могу на своем древнем ноуте работать?
197 1838333
>>38310
ну если вопрос стоит по ram то метров 800 желательно иметь только для него, тоесть не включая те обьекты которые будут создаваться в петухоне, по поводу проца, ну в простое практически ничего не жрет,

вприцнипе смотря что еще считаешь старым, впринципе и под десяткой в 4 гб рам работать можо, но надо еще понимать что будешь скорей всего в браузер лазать, а они тоже любят ресы хыч хыч коксал боба
Untitled.png4 Кб, 700x75
198 1838396
>>38310
По памяти норм, а в целом так неторопливо работает по сравнению с десктопом. Надо будет ебануть какой-то халявный проект и взять что-то на новой мобильной рязани, вроде очень хороша она.
199 1838401
>>38396
Пиздец, как ты на этом браузер запускаешь вообще?
изображение.png3 Кб, 582x76
200 1838711
>>38401
Зачем сарказмируешь?
А я как браузер запускаю.
201 1838716
>>38401
Пять лет ноуту. А древний это сколько, 15?
202 1838729
Как аппендить к анонимному листу?
Например,
x = 'asdf_asdf' + x.split(', ')
x = ['asdf_asdf'].append(x.split(', '))

inb4 никак
203 1838731
>>38716
я тут вообще с radeon hd сижу, не выёбывайтесь
204 1838733
>>38729
x = ['hui'] + 'piz da'.split()
205 1838734
>>38733
и точно, затупил
206 1838739
>>38731
Я на 5ххх радевоне третьего ведьмака прошел.
image.png65 Кб, 858x914
207 1838858
А как сделать, чтобы алгоритм выводил не все числа, а только самый большой i?j это для дебаг я сейчас думаю про continue, но не уверен, что сработает.
208 1838859
>>38858
забыл
umber = input("Введите цифры от 1000, до 20000: >")
j = '' # сделать стринг

i = 0 # for

while i < int(number):
i += 1 # ++
i_string = str(i)
j = i_string[::-1]
if int(i) + int(j) == int(number):
print("i =" + str(i))
print("j =" + str(j))
209 1838885
>>38858
Зачем ты через while делаешь то, что нужно через for, у тебя же простая итерация, пистон счетчики не любит
210 1838887
>>38858
>>38859
>>38885
я уже посчитал сам через добавление в список.
фором на питоне не умею пользоваться.
211 1838890
>>38887
Так это, может самое время?
212 1838897
Посоветуйте книгу или обучалку на русском, как крепкому шарписту вкатиться в питон.
213 1838903
>>38897

>крепкий шарпист


а может питон вкатится в тебя?
изображение.png22 Кб, 858x492
214 1838907
>>35577 (OP)
Как в питоне объявлять анонимные объекты, которые можно передавать в качестве параметра options в метод tkinter,filedialog.askopenfilename и asksaveasfilename? Хочу вместо перечисления всех параметров вынести дефолтную часть в отдельную переменную
215 1838908
>>38907
Если я правильно понял, что ты хочешь сделать, то тут 2 варианта:
1) Написать свою обертку под этот метод, где ты вызываешь дефолтные параметны
2) Сделать словарик и распаковывать через kwargs
216 1838909
>>38908
Т.е. в питоне нельзя как в js например просто прокидывать json'овский объект или типа того без всяких лишних импортов?
217 1838916
>>38909
>>38907
Объясни поподробней, что конкретно тебе надо?
218 1838917
Изучая пистон понял что нужно еще анг язык учить и Математику ) проебывал уроки 2ишник
219 1838921
>>38890
пусть еще пару месяцев подготовится, не видишь? он еще не готов!
220 1838922
>>38733
>>38729
x = ['hui', *'piz da'.split()]
221 1838923
>>38916
Мне надо вызывать либо askopenfilename либо asksavefilename в if-elif. 3 параметра одинаковые - расширения, initialdir, типы файлов, разный только промпт. Хочу 3 общих параметра в переменную над ифом, промпт отдельно пропихивать. В js например можно в блоке ифа было бы делать типа fileDialogParams.title = "Open file", а в elif fileDialogParams.title = "Enter new file name"
222 1838934
>>38242
Там все вопросики это одна цифра. Пишешь функцию, которая делит выражение на a, b c и оператор, преобрзуешь их в инт, проверяет истинность, и в цикле заменяешь вопросики на цифру от 0 до 9 по очереди и вызываешь для получившегося выражения функцию. Если тру, то печатаешь текущую цифру, если цикл кончился, тру не было -1
223 1838963
написал декоратор для хеширования результатов функции.
Вопрос. как мне теперь посмотреть, что в словарике лежит?
сам декоратор с функцией.

https://pastebin.com/7vkWqiPS
224 1838968
>>38923
В общем то попробовал вообще этот askopenfilename, он порождает окно пустое от ttk. Есть какой нибудь более вменяемый способ в консоли вызывать open/save file dialog без оверхеда в виде окон? Я пока просто учусь, так что не надо говорить что типа консолька и эти окна это тупо и всё такое
225 1838986
Ебучий поиск тян мешает мне соредаточиться на изучении питона
226 1838991
>>38986
Отдай ее мне и познай питонистское просветление
227 1838992
>>38897
Байт оф питон
228 1839000
Уже познал его, буду парсить их по секс группам завтра
229 1839005
>>39000
Триплу верю я.
Хмм.. поиск порнокартинок тян с помошью нейросетки.. Хмм..
230 1839028
>>38907
Делаеш словарь вроде d = {параметр:значение},
потом передаёш его функицям,
только перед именем словаря надо две звёздочки ставить:
func(\\d)
231 1839080
>>38963

>Вопрос. как мне теперь посмотреть, что в словарике лежит?


Тебе нужно список всех хешей?
Есть два варианта:
1) Переписать декоратор из функции в класс, а самому классу сделать метод для просмотра хеша
2) hash_deco.__globals__['hash_dict']()

а еще твой декораторупадет если подставить нехешируемый тип в параметры
232 1839104
>>37430
Тогда и начну писать однострочники, думаю это лишнее усложнение для начинающих
233 1839105
Двач, придумай мне пэт проект, чтобы было интересно реализовывать, чтобы не было нормальных аналогов и чтобы в одного можно было бы осилить. Подумал почему бы не написать бота, который бы мАстерил игру d&d, такое уже есть причем с собранными на кикстартере миллионами, а я просто хочу создать что-то новое
234 1839106
>>38716
Мой 2013 был бюджетным. За 25к брал. Ща кстати такой же стоит 25к, ну мб чуть получше. Спасибо за курс валют
235 1839109
>>39105

>Двач, придумай мне пэт проект


Напиши программу, которая бы автоматически раскладывала боевые картинки по разным категориям в зависимости от флага и прочих факторов.
236 1839123
>>39105
Напиши что-то что заставит меня соблюдать режим сна и не зависать до 4 утра
237 1839128
>>39105
Web UI и панель управления для Bucardo.
С радостью помог бы.
изображение.png38 Кб, 1808x454
238 1839129
Чому маленькие строки нормально определяются, а в больших не хватает некоторых циферок?
Как это работает?
239 1839130
>>39129

>encode


>replace("b", " ")


Мне кажется ты нифига не понял что от тебя хотят, и занимаешься каким-то извращением с байт-массивами.
240 1839131
>>39130
Ну там типо нужно из буквы сделать код аски, потом перевести в двоичку и из 1 сделать 111, а из 0 сделать 000.
Ну я вроде и сделал.
241 1839168
>>39109
Когда начну изучать нейронки то это будет первое что я напишу
242 1839178
Здорова бандиты. Помогите с парсингом одной хуйни. Парсю через красивый суп. В хтмл не шарю, но почему-то если скачиваю страницу кое-какой инфы в тегах нет (пика 1), когда смотрю исследователем в гугле, в теге есть нужная инфа (пикча 2, текст 002), как так? Как спарсить такое?
243 1839182
>>39178
Поправка, текст 001, не 002
244 1839183
Привет, я только начал постигать тайны питона, и у меня уже есть сайтик на джанго, который гененрирует небольшие еветы в расписании. Так-же у меня есть бот в дискорде, который просто приветствует, дает инфу и все. Вот мне бы хотелось их как-то связать, что-бы по команде мне давалась информация со странички на сайте, но я не понимаю механику их взаимодействий. Что мне нужно почитать для этой реализации? какие модули использовать? Может даже на примере говна и палок обьясните что должно происходиить?
245 1839185
>>39080
исключения ловить?
246 1839187
>>39185
Нет, сделать систему кеширования не основанную на хэше
247 1839195
>>39183
Подключаешь бота в дискорде к хранилищу данных и все
248 1839197
>>39178
Оно добавляется динамически жабаскриптом.
Можно рендерить страницы хедлесс браузером и тогда уже парсить, можно подсмотреть дополнительные запросы, если есть, и брать готовое. Если нет запросов, значит определено где-то script тегах.
249 1839198
>>39195
Я рассматривал этот вариант как самый очевидный, но сейчас читаю про парсеры и загорелся ими.
250 1839226
ООП в питоне - это хорошо или плохо? Я сам шарпист со стажем и привык по солиду делать по классу на каждую подзачау и всё такое, но в питоне что в туториалах что в примерах что в гайдлайнах по использованию библиотек я постоянно вижу использование просто статических функций
251 1839227
>>39226
Просто не хуярить классы на каждый пук, как в этих ваших жабошарпах, а по практической необходимости.
252 1839228
>>39198
То есть ты будешь сканить свой сайт каким нибудь селениумом что бы достать инфу, которую и так имеешь и можешь спокойно подключить без напряга?
253 1839231
>>39183
Если тебе нужно, чтобы бот с сайта инфу брал именно, то изучай http протокол и модуль requests, делаешь гет запрос на сайт и получаешь текст ответа, если там html верстка, то парсить ее удобнее с помощью модуля bs4. Кароче изучи парсинг сайтов и все встанет на свои места
254 1839232
>>39228
Он спрашивал как связывать скрипт бота с сайтом, думаю именно парсинг его и интересовал
255 1839234
>>39232
А, ну если как учебный проект, то вообще проблем нет
256 1839235
>>39232
Ага, вот, точно. Я так и хотел написать
257 1839236
>>39231
Спасибо, почитаю
258 1839237
Питонисты с опытом, я немного изучил питон и веб, сделал на фрилансе пару парсеров, бота, вебсервис и понял что в общем-то с питоном я разобрался, хочу спросить у опытных куда двигаться дальше(в планах через пол годика-год устроится на работу полноценную), чтобы стать уверенным джуном в вебе, стоит ли учить js, .net и прочее, стоит ли пытаться уходить в нейронки(диффуры пока не умею решать, хз насколько сильная математика нужна), в общем куда вкатываться дальше, чтобы быть востребованным(сейчас углубляюсь в питон, смотрю как неймспейсы работают, постигаю асинхронность, но мне кажется, что нужно дальше выбрать что-то объемное, чему придется уделить много времени)
259 1839238
>>39237
Ебнутый что ли? Пиздуй работать.
260 1839240
>>39236
Но если хочешь действительно понять как работает веб, то я очень советую курс на степике web-технологии, если изучил linux и базы данных, после него и небольшой практики будешь точно понимать как это все связывается и что откуда достать можно
261 1839242
>>39238
Я на 2-м курсе, меня не берут никуда, а по разработке на питоне даже тестовое не присылают, так что остаюсь на фрилансе, но не хочу просто повторять свои ошибки и дрочить одно и то же, а хочу развиваться
262 1839250
>>39242
У меня сложилось впечатление что тестовые стараются больше не присылать, даже на джунов. Все равно постарайся уже работу найти удаленно, стажировку хотя бы.
263 1839253
>>39240
О вот вопрос можно еще? что значит изучил бд? я знаю как писать запросы, знаю какие бд бывают, но не знаю какую в проект выбрать, могу спроектировать бд, если там не очень много сущностей. Вот этого не хватит на работу, но можно ли сказать что я изучил это направление?
264 1839264
>>39253
Более-менее изучил направление, это тогда, когда ты понимаешь проблематику, какие возникают проблемы, почему они возникают, как их решать и т.п.

Например, чтобы понимать, когда одна структура лучше, а когда другая. Как профилировать-оптимизировать запросы, и т.п.

В целом нельзя сказать, что ты что-то изучил. Это как программирование, нельзя "изучить программирование". Ты можешь просто лучше или хуже что-то делать, иметь достаточные или недостаточные скиллы для какой-то работы.
265 1839276
>>39264
спасибо
266 1839282
>>39253
Я думаю писать запросы, создавать, нормализовывать бд, администрировать это достаточно для начала, даже если ты и знаешь как писать функции, то энивей тебе это не пригодится до определенного момента
267 1839306
>>39282
Это любой дурак умеет, что тогда "не уметь"?
268 1839329
Вот те задачки что я решаю на кодворзе, это что-то пригодится в риллайфе? Или нет? Посмотрел тот же фласк, тупо декларативный способ, все определил и сел.
269 1839491
>>39237
Как и где искал заказы?
270 1839495
>>39329
Да не то что бы.
Оно полезно в плане изучения фич языка, когда смотришь чужие решения, которые многие стараются сделать эффектными.
271 1839630
>>39329

>Вот те задачки что я решаю на кодворзе, это что-то пригодится в риллайфе?


От 8 до 6-5 уровня помогают изучить фичи выбранного языка. Все что сложнее абсолютно бесполезно.
272 1839759
Подскажите, пожалуйста, с Flask мне не нужен сервер? Например, мне не нужен Apache?
273 1839762
>>39759
Нужен. У него есть встроенный, но годится только для тестирования. Ну или если у тебя какой-то внутренний сервис без реального онлайна.
274 1839771
>>38934
Делай, как он говорит >>39028

def foo(x=1, y=2, z=3):
print(f"x= {x}, y = {y}, z = {z}")

parameters = {"x": 1, "y": 2}

if <условие>:
foo(z=1, ✳✳parameters)
else:
foo(z=0, ✳✳parameters)
275 1839772
276 1839785
>>39762
Понял, спасибо.
277 1839787
278 1839845
Сап питонач, хотел написать клеточный автомат описывающий реакцию белоусова но получилось г на прикле хотя вроде алгоритм правильный я хз где ошибка помогите найти плёс. описание алгоритма и пример работы норм проги где то на 15 минуте в видосе: https://youtu.be/FiO6jkNkrb4
Оно вроде как работает но волны распространяются ромбом а у того чела 8миугольником.
image.png75 Кб, 828x902
279 1839860
Привет, анон. Играюсь на codewars, получил задание написать бесконечный генератор последовательности простых чисел. По заданию нужно сгенерировать первый миллион. Разумеется есть ограничения по памяти(1.5 MiB) и по времени(16с).

Сначала хотел написать просто сегментированное бесконечное решето Эратосфена, но, разумеется, не хватает памяти, чтобы вместить сам список простых чисел.

Потом решил все таки использовать это решето, но потом перестать добавлять в список простые числа, а тупо перебирать числа и их делимость только на простые числа. Это должен был осуществлять последний блок кода(выделен комментом), но из-за него сжирается вся память нафиг.

Так вот главный вопрос: что вообще в этом последнем блоке может жрать память? Если его отключить, то все работает нормально, за исключением преждевременного прекращения генерации.

Знаю, что решето реализовано говяно, хотел заняться им в конце.
280 1839869
>>39491
Веблансер
281 1839873
>>39860
Дай ссылку на задание, плез.
283 1839928
>>39787
А как с работой по FastAPI?
284 1840151
>>39928
Иногда можно встретить в требованиях к вакансиям.
Иногда выбор инструмента зависит от тебя, и тут ты волен выбирать.
285 1840226
Аноны, возникла проблема с заданием из учебника. Необходимо рекурсивной функцией создать мусорный файл в указанной директории и каждой из её субдерикторий.

Но когда функция натыкается на субдерикторию и вызывает саму себя, то уходит в модуль bootlocale и там

1 if sys.platform.startswith("win"):
2 def getpreferredencoding(do_setlocale=True):
3 if sys.flags.utf8_mode:
4 return 'UTF-8'
5 return _locale._getdefaultlocale()[1]

Перескакивает с третьей на пятую строку а потом

1 def init(self, errors='strict'):
2 self.errors = errors
3 self.buffer = ""

Заранее извиняюсь если вопрос нубский и входит в факю, но я нагуглил только оханья что это старая проблема с виндой которая периодически вылазит то у одного то у другого и я не понял что с ней делать.
286 1840238
>>39845
Вы вообще ебанутые? Фотографировать код на телефон с экрана
287 1840240
>>40226
Ну нихера непонятно же ну ебана рот. Ну создай пример в онлайн редакторе и пришли ссылку или хотябы заскриншоть всё говно
288 1840253
>>40240
Ну вот сам код.

def litter(path):
newtext=open("litter.txt", "w")
newtext.close()
dirlist=os.listdir(path)
for i in dirlist:
fullname=os.path.join(path, i)
if os.path.isdir(fullname):
litter(fullname)

litter("C:\\Users\\key\\Desktop\\Pyt\\Code")

Когда он обнаруживает, что объект в директории является директорией, он пытается в нем намусорить, но выдаёт ошибку которую я описал выше и не делает ничего, хотя в главной директории мусорит спокойно.

Сорри я не совсем понял что мне скринить, экран модулей, куда он уходит искать ошибку? Там только эти два блока что я описал выше и все.
289 1840266
>>40253
Почему ты открываешь файл с одним и тем же путем?
newtext = open(os.path.join(path, "litter.txt"))
290 1840276
>>39860
Условия задачи не питонячи: питон не чыслодробилка,
глупо требовать от него ужимться по памяти и времени.
IMG20201026171557395.jpg37 Кб, 596x467
291 1840294
>>40266
Потому что путь меняется когда функция уходит на рекурсию в строке 6. Там создаётся новый путь под варом fulltext, и уже от него открывается новая итерация функции.

Это работает, я проверил путем дебаг рана, новый путь открывается корректно.

Плюс я проверил, будет ли эта функция корректно считывать файлы, она считывает, анончик, с путем все в полном порядке, она просто из за какой-то ошибки (локализации?) не хочет писать текстовый файл в любые субдериктории, только в мейн от которой открывалась.

Более того, он не хочет работать даже при полностью прописанном к субдериктории пути даже не выдавая ошибку при этом.

Вот на скрине, сам путь выстраивается корректно, дело в другом чем то.
292 1840307
>>40276
Да мне решение задачи и не нужно. Мне очень интересно знать, куда девается память в последнем фрагменте кода. Ну или хотя бы где об использовании питоном памяти можно почитать.
293 1840310
>>40238
Ну бля реально на компе нет инета шас. Ок как нибудь залью
294 1840311
>>40266
О все страшно извиняюсь, сработало. Понял свою ошибку, надо было понять, что директория для открытия файла автоматически не меняется при новом открытии копии функции. Правда, непонятно почему.
295 1840314
>>40307
Про память - суетный вопрос это.
296 1840320
>>40311
С хуя ли она должна меняться?
Почитай, что такое cwd.
297 1840321
>>40307
Вроде как питон очень плохо работает с листами, именно поэтому и нужны кортежи, что они и близко не так удобны, но в 10 раз быстрее проходятся. Если для маленьких последоватпььностей такая разница несущественна, то для больших 10х разница ощутима.
298 1840324
>>40320
Сорри, анон, у меня только четвёртая неделя обучения пошла.
299 1840328
>>40314
Ну любопытно же. Мало ли здесь неизвестный мне нюанс языка? А то, на самом деле, я понял, что часто не совсем понимаю, как конкретно работает та или иная операции языка.
300 1840342
>>40328
Давай код текстом, посмотрим.
301 1840343
>>40321
Ну, снова же, для меня сейчас проблема скорости вторична. Непонятно именно происходящее с памятью.
302 1840349
>>40328
Нюянс не языка но реализации.

>>


Как обычно, память пожирается, сборщик мусора чистит её ритмично. Если критично, мусорщика можно попинывать через модуль gc.
Для питона полтора мега памяти — это вообще крошки какието.
303 1840352
>>40342
from math import sqrt
def sieve_of_eratosthenes(primes, from_n, to_n):
length = to_n - from_n
arr = [True]length + [False]
for p in primes:
for i in range((to_n - 1 - (from_n-1)//p
p)//p):
b = -from_n % p
arr[b + pi] = False
for i in range(int(sqrt(to_n)) + 1 - from_n):
if arr:
p = from_n + i
for j in range(1, (to_n - 1 - (from_n-1)//p
p)//p):
b = -from_n % p
arr[b + pj] = False
for i in range(to_n - from_n + 1):
if arr:
primes.append(from_n + i)
return primes

class Primes:
def stream():
counter1 = 0
counter2 = 1
primes = sieve_of_eratosthenes([2], 3, 100000)
length = len(primes)
while True:
print(primes[counter1])
yield primes[counter1]
if counter1 + 1 == length:
primes = sieve_of_eratosthenes(primes, counter2
100000, (counter2+1)*100000) # 100000 - размер сегмента решета
length = len(primes)
counter2 += 1
if counter2 == 4: # 4 - количество сегментов
n = primes[-1] + 2
break
counter1 += 1
"""
while True:
is_primal = True
for p in primes:
if p > sqrt(n):
break
if n % p == 0:
is_primal == False
if is_primal:
print(n)
yield n
n += 2
"""
303 1840352
>>40342
from math import sqrt
def sieve_of_eratosthenes(primes, from_n, to_n):
length = to_n - from_n
arr = [True]length + [False]
for p in primes:
for i in range((to_n - 1 - (from_n-1)//p
p)//p):
b = -from_n % p
arr[b + pi] = False
for i in range(int(sqrt(to_n)) + 1 - from_n):
if arr:
p = from_n + i
for j in range(1, (to_n - 1 - (from_n-1)//p
p)//p):
b = -from_n % p
arr[b + pj] = False
for i in range(to_n - from_n + 1):
if arr:
primes.append(from_n + i)
return primes

class Primes:
def stream():
counter1 = 0
counter2 = 1
primes = sieve_of_eratosthenes([2], 3, 100000)
length = len(primes)
while True:
print(primes[counter1])
yield primes[counter1]
if counter1 + 1 == length:
primes = sieve_of_eratosthenes(primes, counter2
100000, (counter2+1)*100000) # 100000 - размер сегмента решета
length = len(primes)
counter2 += 1
if counter2 == 4: # 4 - количество сегментов
n = primes[-1] + 2
break
counter1 += 1
"""
while True:
is_primal = True
for p in primes:
if p > sqrt(n):
break
if n % p == 0:
is_primal == False
if is_primal:
print(n)
yield n
n += 2
"""
304 1840356
>>40352
Кокое-то говно у меня получилось, сейчас попробую иначе.
305 1840358
>>40352
>>40356
pastebin или ideone
306 1840362
>>39860
Короче неохота вникать, но самая быстрая генерация, на самом деле, это просто тупо проверка всех чисел на простоту.

Или самым тупым способом, делить на все простые до корня, либо иногда оправдано специальные алгоритмы использовать, это когда числа большие проверяешь.

Решето это жутко медленный и не рациональный алгоритм, не только для питона, вообще для любой реализации. Это алгоритм, чтобы на бумажке числа высчитывать, а не для компьютеров, забудь о нём вообще.
308 1840367
>>40362
Но ведь решето быстрее названых тобой способов, если учесть что мне нужно не одно единственное число на простоту проверять, а выдавать список всех простых чисел. При этом сегментирование экономит память, ведь именно к ней требовательно решето.

Так как миллион простых чисел в списке хранить не получится, то я решил использовать гибридный метод: сначала решето, а потом проверка всех последующих чисел на делимость, использую сгенерированный решетом список простых чисел. И вот именно в этом моменте, когда я уже перестал использовать решето и просто проверяю делимость используя фор по списку - у меня и возникает проблема с памятью.
309 1840382
>>40343
Попробуй все таки переписать функцию, используя вместо листа всех праймов тупл либо словарь и посмотри, не будет ли полегче.
image.png7 Кб, 406x156
310 1840387
311 1840405
>>40382
Попробовал использовать тупл - не помогло.

Но! Я понял, что жрало память. Это были принты. Я даже не знаю, что теперь делать с этим знанием.
312 1840409
>>40405
import logging
313 1840483
Есть у кого шпаргалка по async/await и aiohttp?
314 1840514
>>40367
Решето в любом случае медленное.

Что происходит в случае, когда ты делаешь проверку просто на делители до корня. Основные ресурсы съедают проверки именно простых чисел, составные в основном отваливаются довольно быстро. Когда ты заполняешь решето, ты ячейки для каждого составного числа постоянно перезаписываешь, ты делаешь заведомо лишнюю работу.

Второй момент, если бы ты даже на Си это реализовывал. Если у тебя сегмент памяти большой, ты проверяешь больше миллиона чисел, то проблема в том, что это сегмент уже не помещается в кеш, у тебя процессор будет постоянно сбрасывать кеш и лезть в память. А это очень дорого и медленно. Отдельные моменты с адресацией, потому что побайтово сложно что-то записать быстро, надо по словам записывать, по 4 или по 8 байт, пожалуй не скажу, что для 64-х битной архитектуры.

В питоне начинаются нюансы по представлению чисел и как они хранятся в списках. Ты учитывай, что число это на самом деле большой неизменяемый объект. Впрочем, если в списке хранить 1 или 0, то проблем быть не должно. Но тут есть разные варианты по numpy и всякие связанные оптимизации.

Реально я бы тебе предложил сравнить варианты с решетом и просто с проверкой в лоб всех нечётных.

Если у тебя большие числа, корень из которых в миллион, например, то есть другие алгоритмы, основанные на тестах Ферма и т.п., но там масса нюансов. Именно такими способами проверяют большие простые числа по 1000 бит, их в лоб проверить невозможно в принципе.

На числа в районе миллиона смысла в таких алгоритмах заведомо нет. Я думаю, начиная с миллиарда уже появляется.
315 1840551
>>40483
А что тебе нужно? Когда хочу что-то вспомнить по aiohttp то просто в доки лезу
316 1840587
Может быть я чего-то не понимаю, но Марк Саммерфилд.
Программирование на Python 3 слишком нудная и монотонная книга, хоть и мало страниц...
317 1840602
>>40587
Есть эта серия от орайли с картинками для даунов, должно тебе зайти.
318 1840660
def create_array(n):
res = []
i = 1
while i<= n:
res+=
return res
Не могу сообразить как сделать массив. Уже все перепробовал. И вроде счетчик есть. Если без функции, притом, массив создается. А так, добавлятеся только 1 и все. чяднт?
319 1840670
>>40660
while i <= 10:
arr+=
i+=1
print(arr)

Вот что то подобное работает на ура. Не могу понять почему подобное не отрабатывает в функции.
320 1840682
>>40660
Код нормально выложи, с пробелами
321 1840683
Чому ни кто не пишет на ООП, все только и используют пайтон как скрипты, это нормально?
322 1840702
>>40683
Чому никто не пытается измерять реальность? Все только проецируют свое представление о реальности на всё
323 1840704
>>40702
Из-за принципа неопределенности Гейзенберга
324 1840730
>>40660
Зачем ты вообще так делаешь, список динамический же. Если прям хочется, то можно так сделать arr = [None] * n
325 1840930
Анон, подскажи как подготовиться к собесу воркфлоу инженера. Книги и статьи по змеюке не читал, но зато нарешал задачек с литкода, не первый год пишу на нем скрипты, в том числе и объектно ориентированные, написал свой блог на фласке и запилил сортировщик изображений с OpenCV, но чувствую, что этого критически мало. Многих вещей в этом языке я до сих пор не знаю просто потому что не встречался с ними. Поставив в пример руби — у него есть сайт, где он сравнивается с другими языками, включая уникальные особенности языков. Для него же написана хорошая книга Ruby Way, которая довольно кратко и с адекватной сложностью для понимания рассказывает об аспектах языка. Есть ли такое для пайтона?
326 1840934
>>40930
fluent python
327 1841099
def greet_all(names: list[str]) -> None:
for name in names:
print("Hello", name)

Я разобрался что names это переменная и указывается ее тип. Список а внутри строки, а что значит None? типо что по умолчанию там ничего, как раньше, names=None? так?
328 1841103
>>41099
-> None - это тип, который возвращает функция
329 1841110
>>41103
def greet_all(names=None)
for name in names:
print("Hello", name)

Вот так? Такая нотация так или иначе будет возращать None,если не указано другое. ?
330 1841118
>>41110
"names=None" - это как раз значение по умолчанию для names, а
"-> None" после скобок - это подсказка что должна возвращать функция.
331 1841153
>>41118
Да но вместо этого она выводит принт с гритингом.
332 1841198
>>41153
Принт != ретурн
image.png1,1 Мб, 976x549
333 1841322
Пиздонисты, подскажите маслу, которое до этого только в сях всяких писало. У меня на арчике стоит 3.8 змей, надо стартануть проект на жанге под 3.5.0. Полагаю, что поможет только pyenv, но не совсем понимаю как завести проект, при запуске черещ exec с глобалом 3.5.0 лог проекта на джанге все равно пишет, что долбится в 3.8. Да и вообще как очистить глобальный path питона, а то пип уже успел отвалиться, никогда с питоновскими виртуальными средами не работал.
msdPCNnJtnY.jpg73 Кб, 669x670
334 1841326
335 1841329
>>41099
Мне интересно по какому материалу ты занимаешься? Где это сразу про типирование загоняют?
336 1841337
>>40551
Да вроде разобрался сам.
337 1841339
>>41329
Оф документация, мне интересен был синтаксис, и что это значит. В консольке получилась фигня по коду.
338 1841340
В sympy интегралы не интегрируются, что делать?
unnamed.png128 Кб, 512x512
339 1841346
>>41340
Дифференцировать
340 1841347
>>41346
Ты сука?
341 1841349
>>41322
БАМП
342 1841355
>>41099
Вы мне объясните что значит это в этом коде

> -> None:


Те если не будет указан список те он будет пустым, будет возращаться None или как? С типизацией очень удобно, только что так решил задачку на кодворзе прописав что есть что и сразу все норм стало.
343 1841373
>>41355

>Вы мне объясните что значит это в этом коде


Это означает что функция не возвращает ничего или возвращает None.
344 1841379
>>41355
None возвращается, если явно не возвращается ничего.
https://ideone.com/55cjy0
345 1841383
>>41379
Так ну ок, попробовал и так и так, результат один и тот же возращается None, зачем тогда указаывать сразу если это по дефолту после пасс идет? Я вот тут не понял, с типизацией удобно, а зачем указаывать то что возращает и так? И что еще можно тогда указать?
346 1841388
>>41383
Это хинтинг, он не энфорсит ничего, просто IDE будет тебе бухтеть, если ты передаешь что-то не то, или используешь возвращаемые значения не так. В данном случае указывается, что возвращаемых значений нет, так что использовать нечего.
347 1841395
>>41388
Ну а что еще можно передать кроме None? Раз если не прописать, и не указать аргументы, то все равно будет None. bool?
348 1841404
>>41395
Да оно в любом случае нихуя не делает, это как комментарии.
Просто есть инструменты, которые могут их использовать.
349 1841420
>>41322
>>41349

Ничего не понял.
Просто делай запуск по глобальному имени, типа
/opt/virtualenvs/pytnon38/bin/python my_project.py

и не нужно возиться со всеми этими активациями среды.
350 1841426
Питонисты помогите
Составить программу, в которой из внешнего файла считывается строка (не менее 20 символов, осмысленная, содержащая строчные и прописные буквы и цифры). Выводится строка, полученная на основе прсчитанной, в которой каждая четвертая буква, кроме пробелов, удваивается.
351 1841442
>>41426
Это твоя лаба или тестовое? В 6 строк кода делается. С чем тебе помощь нужна?
352 1841445
>>41442
Не знаю как записать чтобы каждая четвертая буква кроме пробелов удваивалась
)
353 1841452
>>41442

>Это твоя лаба или тестовое? В 6 строк кода делается.


В одну.
354 1841478
>>41340
В вольфраме тоже не интегрируются, блядь.
355 1841597
>>41478
Интегрируй численно
356 1841598
>>41597
Так и делаю же.
357 1841601
>>41598
Раз ты sympy используешь, то ты, скорее всего, интегрируешь символьно
Тебе решение нужно в виде формулы, или в виде числа/чисел?
358 1841604
>>41601
В виде числа. Все значения я подставляю. Там просто, видимо, охуеть какое сложное выражение получается, раз его даже вольфрам не может подсчитать.
359 1841606
Посмотрел я видос про фаст апи, потом почитал доку.
Вот
def read_item(item_id: int, q: Optional[str] = None):
там во всю идет типизация.
Например это

q: Optional[str] = None
Это строка или хитрый список? Обычно же такая нотация - обращение к элементу списка. Нет?
360 1841609
>>41604
Пробовал scipy?

Что за функция? Какие границы интегрирования?
361 1841611
>>41606
Почитай, как модуль typing работает.

Запись typing.Optional[str] значит, что у тебя функция возвращает либо строку, либо None
362 1841614
>>41609
Lambda(tau, Integral(0.0981984024266575(1 - Abs(tau - theta))Integral(0.00964292623914778(1 - Abs(u))(1 - Abs(theta + u)), (u, -1, 1)), (theta, -1, 1)))
Коэффициенты можно опустить, без них так же не считается.
363 1841617
>>41606

>Это строка или хитрый список?


Optional[str] означает что тип переменной q это либо строка, либо None.

= None означает что при отсутствии аргумента в переменную q запишется None.

Например: если вызвать read_item(5, "test"), то q будет строкой. А если read_item(5), то q автоматически присвоится значение None.
364 1841623
>>41445
with open('file.txt', 'rt') as f:
____src_line = f.read().strip()

result = []
counter=0
for symbol in src_line:
____result.append(symbol)
____if symbol != ' ':
________counter += 1
________if counter % 4 == 0:
____________result.append(symbol)
result_str = "".join(result)

Вот не самое компактное, но самое очевидное решение. В одну строку не сделаешь, разве что используя специфику питона-3.8 и так, что даже гуру питона будет тяжело понять.

Где-то тут раньше приводили короткое "решение", но оно было абсолютно некорректным, неверным.

Не запускал, но вроде должно работать.

Вообще тебе надо доки по программированию читать, это тебе надо. С самых основ скорее всего.
365 1841624
>>41617
Лан, спс это я понял. Но вто что то типо такого - диссонанс
Например
from typing import List

def func(n: int) -> List[int]:
return list(range(n))

n число, а почему и откуда берется список? Те если не n то возращается список?
366 1841633
>>41623
enumerate очевидное решение.
Можно ещё чуть норкоманское через range с кастомным шагом.
У тебя совсем глупое.
367 1841651
>>41624
Я не понимаю твоего вопроса.

n - это integer, но это аргумент функции. Сама функция возвращает list(range(n)), что является списком.
368 1841659
>>41651
Вот это
-> List[int]:
что и зачем?
image.png17 Кб, 367x374
369 1841663
>>41659

>что


Обозначение типа возвращаемой переменной. List[int] значит, что функция возвращается лист из int чисел.

>зачем


Чтобы знать что возвращается.

Пикрил - пример. У первой функции не обозначен тип возврата, поэтому неизвестно, что она возвращает. Она может вернуть как список, так и None, так и вообще что угодно. У второй функции обозначен тип возвращаемой переменной - список из чисел, поэтому IDE ругается на возврат None, который не является списком. У третьей функции None заменен на список и все нормально. Аналогично с аргументами.
370 1841669
>>41659
наверно это значит что функция должна вернуть список int.
если в коде функции будет возвращяться что-то другое,
IDE подсветит это как ошибкцу.
371 1841689
>>41633

>enumerate очевидное решение.


Только неверное. Потому что он нумерует всё подряд, а подсчёт должен вестись только по буквам.
372 1841693
Как написать кучу условий в лямбда функции, какой синтаксис? Так не получается.
check = lambda x, y: 4 if x == y else (-1 if x != y else (0 if x == "" or y == ""))
Видел как то через скобки.
373 1841694
>>41614
Не получается глазами распарсить, есть в нормальном виде?
374 1841697
>>41624
Документацию чего ты блять читаешь? Пройди на сайте питона мануал для начинающих, потом загугли питон тайпинг пеп, там все написано
375 1841698
>>41693
Вот так получается
check = lambda x, y: 4 if x == y else (-1 if x != y else 0)
но мне надо впихнуть еще одно условие. Видел как делают тиа такого
[хуй пизда залупа](если пидор)(если гнида)( если чушка.) но не могу по синтаксису въехать.
376 1841699
>>41693
Очень странное выражение.
1) В любом случае выполнится либо х == у, либо х != у
2) У тебя незаконченный тернарный опрератор 0 if x == "" or y == "". Должно быть 0 if x == "" or y == "" else value
377 1841700
>>41699
>>41698
Я для фильтра готовлю, пробовал по разному, надо три условия, тащемта в лямбде видел еще больше.
378 1841704
>>41699
check = lambda x, y: [4, -1, 0][(x == y), (x != y), (x == "" or y == "")]
Как то так но не получается. Но подобное я видел.
379 1841705
>>41704

>Как то так но не получается. Но подобное я видел.


Пиздос. Включить голову и подумать почему это не работает лень?
380 1841706
>>41705
check = lambda x, y: 4 if x == y and x != "" and y != "" else -1 if x != y and x != "" and y != "" else 0

получилось.
381 1841707
>>41706

>получилось.


Еще непонятно, зачем тебе вообще нужна лямбда. Фильтровать можно и без них.
382 1841710
>>41707
Вот такая ката
https://www.codewars.com/kata/5a3dd29055519e23ec000074/python
я решил ее так
https://www.codepile.net/pile/zdMwZK8B
В целом доволен. Хотя можно было и лучше.
383 1841711
>>41710

>Хотя можно было и лучше.


Можно, причем в одну строчку:

max(0, sum([{True: 4, False: -1}[x == y] for x, y in zip(arr1, arr2) if y]))
384 1841713
>>41710
>>41711
Да за что вы так эти ванлайнеры любите? Читать же трудно пиздец.
385 1841715
>>41711
Я про такую нотацию имел ввиду
res = lambda x, y: [1, 2, 3][(x > y) + (x < y) + (x == y or x == 100)]

У тебя сложное решение, хз как прийти к такому уровню. Я пока вот, изучаю синтаксис.
386 1841716
>>41715

>Я про такую нотацию имел ввиду


>res = lambda x, y: [1, 2, 3][(x > y) + (x < y) + (x == y or x == 100)]


Я такое никогда не видел. Скорее всего ты путаешь ее с использованием словаря, как это сделал я.
387 1841746
Всем привет! Как понять работу .Net апликухи? Зачем нужны все эти сервисы типа Core, Admin и прочие мелкие? Почему просто нельзя сделать сайт на один сервис?
Что нам даёт swagger? Это эндпоинты на определенные сервисы/функции?
388 1841766
>>41713
Я уже думаю это троллинг
389 1841811
>>41766
Чем более сложный код ты пишешь, тем сложнее тебя заменить.
390 1841941
СТРУКТУРА ВЕБ-АППЛИКАЦИИ
Flask
Привет друзья мои, вопрос такой щито должно быть в шаблоне а что нет, например запрос к базе данных должен быть во вьюшках и отсылаться затем в шаблончик, где он уже будет обрастать тегами при помощи дирректив шаблонизатора, или запрос к базе дидолжен быть внутри шаблона? Или как у меня: оборачивание в теги происходит во вьюхах и затем в шаблон отправляется готовая структура котора просто рендерится?
391 1841944
>>41811
Так от чому последнее времи ипаную функциональщину форсят!!!)))
392 1841970
>>41941

>щито должно быть в шаблоне а что нет


Вот этого ↓↓↓ быть не должно вообще, когда 2020 уже на исходе

>Flask

393 1841973
>>41970
Мне для учёбы надо, флягу освою - меня до джанги допустят)))
394 1841974
>>41941
В идеале шаблон полностью отделён от кода, и каких-то обратных запросов, в том числе к БД, в том числе через ORM, происходить не должно.

То есть ты готовишь объект с данными, который можно релиализовать, например в JSON, отдаёшь его в шаблон, а он уже готовит страницу.
395 1841975
>>41974

>можно релиализовать


fix, сериализовать
396 1841976
>>41974
Спасибо, я так и думал!
397 1841984
Наскок реально из сеньора фронтендера вкатиться в джунопитон?
398 1841986
>>41984
вкатиться скатиться

>быстрофикс

399 1841989
>>41984
Всё это настолько размыто, что хуй знает.
Я так понял, что сейчас джуниор это тот кто вообще нихуя не знает, а сеньор это кто хоть что-то знает?
400 1842004
>>41986
Ну вот почему все думают что фронт - это для петухов? Современные фронтендеры даже в программирование умеют ибо JS.
401 1842029
На какой бесплатный сервер можно залить свой скрипт? Кто чем пользуется? Пробую Heroku, не выходит пока что.
402 1842033
>>42029
Pastebin
403 1842034
>>42029
pythonanywhere, если они еще живы.
404 1842180
Кто нибудь использовал https://github.com/bcdev/jpy
Как у него со стабильностью, были проблемы?
405 1842182
>>41716
Вроде стало получаться, понял как и словари можно пихать в ванлайнеры. Вроде как удобно.
update_light = lambda current: {'green':'yellow', 'yellow':'red', 'red':'green'}[current]
Но вот твою строчку не до конца понял. Уж накрутил как то)
406 1842237
Аноны, подскажите пожалуйста что читать дальше.

Прочитал How to whink like a computer scientist, где объясняется начиная со стрингов и заканчивая ADT и деревьями, выполнил все задания и написал пару помогалок для себя.

Понимаю что нихуя не понимаю, плюс у меня недостаток что я банально компьютерно неграмотный и базовая компьютерная грамотность никогда не была интересна. Но учить и выполнять задания было интерсно.

Сейчас начал просто подряд штудировать питон мануал, но не уверен что это хорошая идея, так как без практики откладывается мало, а с практикой много.

Что теперь, просто читать список литературы из данного раздела подряд?
407 1842509
>>41970

> Вот этого ↓↓↓ быть не должно вообще, когда 2020 уже на исходе


Ох лол.

> Отлично выполняет поставленные задачи


> Имеет хорошую документацию


> Огромное комъюнити и скоп решенные вопросов на SO


> Модули ну любой вкус


> Прост в создании и развитии



Так эт, антош, что не так то?
408 1842510
Вроде бы простая задача.
Но пиздец подкрался незаметно.

False и True это булевы. Но отправляются и читаются они как 0 или 1. (Логично конечно, но нахуя тогда они вообще? )
Поэтому вместо нескольких кривых но все же нескольких строчек, получилась лютая хуйня с аж тремя ифами. (1 иф проверка на ноль, а остальные два проверка является ли i = булевой, и какая именно.)
Как поменьше все это записать?
409 1842515
Уважаемые сеньоры с зарплатой 300ккк/фемтосекунду, подкиньте идей, что написать на гитхаб, чтобы наконец-то куда-нибудь взяли? Из знаний пайтон, джанго и скуль на уровне начинающего долбоёба. В голове идей вообще ноль.
410 1842517
>>42515
имиджборда, и чтобы минимум 5000 запросов/сек держала
411 1842518
Я все правильно делаю?
Ставлю кату по пополярности, беру пистон, ставлю 8ку, тот что полегче для нюфага, и если не проходил то беру то что еще не юзал, и ебашу. Пользуюсь только гуглом и головой. В очень крайнем подглядываю стараюсь сам. Что я упустил если проходить все каты по уровням, то есть брать уровень, проходить, потом решать то что не решил и переходить на следующий уровень. Подумал что если скакать, то не будет результата. Над катой думаю не долго, если не вижу решения кидаю в закладки на потом, решаю то что могу, чтобы не тратить время. Иногда во время решения каты приходит мысля о другой кате, так и иду. Все норм?
412 1842519
>>42509
Он синхронный и может настать момент, когда треды/пре-форки просто не справятся с io bound, с которым без труда справляются все асинхронные фреймворки и что бы не переписывать всю кодовую базу придется изъебываться с очередями задач и воркерами или вообще манкей патчить gevent'ом
Но для учебы норм
413 1842520
>>42515
Bucardo Web UI
414 1842522
>>42519
А как же балансировка нагрузки?
Вполне успешно его юзают и в проде, не имея проблем.
415 1842528
>>42522

>А как же балансировка нагрузки?


Тогда тебе придется делать префорки, это будет работать до определенного времени, но будет сжирать память, процессор и коннекты к бд гораздо больше, чем другие фреймворки.
416 1842532
>>42528

>Тогда тебе придется делать префорки


Я про балансировку до Фласка, балансировку запросов между серверами.

> коннекты к бд


Ну ебана, тут же ПгБаунсер стоять будет, это мимо.
417 1842535
>>42532

>Я про балансировку до Фласка, балансировку запросов между серверами.


А на других серверах уже не фласк будет стоять что ли? Это деньги, между прочим.

>Ну ебана, тут же ПгБаунсер стоять будет, это мимо.


Ну да, тут погорячился
image.png20 Кб, 443x322
418 1842540
xxxxx.png73 Кб, 1000x1000
419 1842545
image.png80 Кб, 926x456
420 1842548
>>42545
Это не отменяет того, что тебе придется делать префорки для фласка и увеличивать утилизацию памяти и процессора, что бы так же эффективно обрабатывать запросы сторонним сервисам/бдшкам, как это происходит на асинхронных фреймворках. Достаточно посмотреть какой rps aiohttp с uvloop могут выдавать.
421 1842549
>>42548
Антош, а можешь ссылочку на инфу по этому графику дать для почитать, просветиться.
423 1842561
>>42540
>>42540
[x for x in array if type(x) not in {int, float} or x != 0] + [x for x in array if type(x) in {int, float} and x == 0]
424 1842562
425 1842571
>>42540
Что-то я нихуя не понял, но спасибо.
Надо посмотреть что такое Ключ. А то я еще не разбирался с разбиением на функции.
>>42561
Добавить всю хуйню что не входит в инты или флоаты или не равно нулю плюс добавить интовые числа равные нулю.
Бля, охуенно. Не знал что проверки можно сразу в листе хуярить.

Надо тренировку где показывают как делать однострочники.
IMG20201029005540685.jpg15 Кб, 441x298
426 1842583
>>42510
Можно одним ифом обойтись.
427 1842584
>>42510
if isinstance(a, int) and a == 0
428 1842585
>>42561
[x for x in src if str(x) != '0'] + [x for x in src if str(x) == '0']
пофиксил чутка
429 1842586
>>42584

>if isinstance(a, int) and a == 0


isinstance проверяет в том числе субклассы. isinstance(False, int) and False == 0 выведет True.
>>42585

>[x for x in src if str(x) != '0'] + [x for x in src if str(x) == '0']


Заебись. Так и знал что можно короче.
изображение.png13 Кб, 665x232
430 1842600
>>42585

> [x for x in src if str(x) != '0'] + [x for x in src if str(x) == '0']


Нули бывают флоатными.
Энивей строка получается длинной.
[x for x in array if (str(x) != '0') and (str(x) != '0.0')] + [x for x in array if (str(x) == '0') or (str(x) == '0.0')]
Хотя может можно короче, я просто подправил.
431 1842606
>>42600
это всё пососет, если в исходном лите будет "0"
Забей на однострочники, ебашь нормально))
f = [x for x in src if str((x,)) in {'(0,)', '(0.0,)'}]
return f + [0] * (len(src) - len(f))
432 1842607
>>42606
not in конечно же
433 1842609
>>42606

>f = [x for x in src if str((x,)) in {'(0,)', '(0.0,)'}]


>return f + [0] (len(src) - len(f))


Для таких случаев есть лямбды:

(lambda f: f + [0]
(len(src) - len(f)))([x for x in src if str((x,)) not in {'(0,)', '(0.0,)'}])
image.png5 Кб, 921x69
434 1842610
>>42609
Фикс
435 1842611
>>42609
это бесчеловечно
изображение.png46 Кб, 1315x862
436 1842612
Интересно. а каким образом выполнять это на питоне? И ведь 57 людей написало.
Ведь даже если ебануть цикл от 1 до n выполняя какую-нибудь простейшую вещь типо присваивания.(for i to range(n): n=1+1) то программа вывалится в тайм аут. Видимо тут нужны доп.библиотеки с хорошей математикой.

Олимпиадная хуйня?
437 1842613
>>42612

>Олимпиадная хуйня?


Да, забей на это говно.
438 1842618
Сап, прочитал питон для детей, что читать/учить/смотреть/думать дальше?
439 1842619
>>42548
Беда фласка ещё в том, что он только и пригоден, чтобы делать сайты вида запрос-ответ, и ни для чего больше.

При этом сильно проигрывает в строгости и стройности Джанго, если клепать круды.

А из-за синхронности принципиально проигрывает aiohttp. Потому что aiohttp можно использовать не только для клепания сайтов, но и как веб-интерфейс к какому-то сервису или приложению, а это уже совсем другая история.

Во фласке, сколько я понимаю, можно добиться какой-то асинхронности, можно вебсокеты поддержать, но как-то очень сложно.

Впрочем возможно, что нормально с фласка начинать, чтобы просто основы веб изучить для начала. aiohttp, наверное, для более подготовленных, особенно по части асинхронности, это уже не начинающий уровень.

По части перформанса сейчас FastAPI очень форсят, говорят, что модно, молодёжно и очень шустро. ХЗ, наверное надо бы потратить время и разобраться.
440 1842626
>>42619

> сайты вида запрос-ответ


В принципе для этого его и норм юзать, вполне себе.

> для чего больше


"Что-то больше" обычно выносится в Celery или в отдельный сервис.

По бенчмаркам 2016 довольно тяжело сказать что фласк хуйнябезреальныхзадач. Ну а в использовании и поддержке - вполне себе дружелюбен.
441 1842628
>>42618
Учебник по Си.
442 1842630
>>42626

>в отдельный сервис


И вот тут начинаются траблы с ожиданием ответа от сервисов при множественных запросах
444 1842672
>>41746
Бампер.
445 1842674
>>41746

>Всем привет! Как понять работу .Net апликухи? Зачем нужны все эти сервисы типа Core, Admin и прочие мелкие? Почему просто нельзя сделать сайт на один сервис?


Тебе не в шарпотред?
446 1842729
>>41420

>Ничего не понял.


Установлен пайтон 3.8, мне нужно запустить проект под 3.5 (со слов заказчика)

> Просто делай запуск по глобальному имени, типа


/opt/virtualenvs/pytnon38/bin/python my_project.py

А, то есть после установки в pyenv 3.5 для его запуска у меня появляется имя в системе? Я просто не совсем понимаю, как этот pyenv работает.
447 1842799
>>42656
Я так и не понял, он в группе контрибьютеров то хоть есть?
Дохуя где форсил свой план.
448 1842808
>>42729

>Установлен пайтон 3.8, мне нужно запустить проект под 3.5 (со слов заказчика)


Скорее всего запустится без проблем на более новой версии. Там довольно хорошая обратная совместимость, хотя какие-то depricated штуки они выкидывают, только из-за этого могут быть проблемы. Но в 3.8 такого немного.

>А, то есть после установки в pyenv 3.5 для его запуска у меня появляется имя в системе? Я просто не совсем понимаю, как этот pyenv работает.


Когда ты делаешь вирнуальное окружение, происходит следующее.
Питон создаёт каталог для виртуального окружения, каталог ты сам выбираешь, например
/opt/virtualenvs/py35
В нём подкаталоги вроде bin, include, lib. В эти каталоги помещаются запускаемые файлы или ссылки на них, в эти каталоги ставятся модули через pip. Что-то ставится в систему, поэтому просто принцип "скопировать каталог" не сработает, если в системе не хватает некоторых питон-библиотек.

"Активация окружения" - это когда в "переменные окружения" добавляется значение
VIRTUAL_ENV=/opt/virtualenvs/py35
в PATH добавляется /opt/virtualenvs/py35/bin
Ну и ещё в линуксе меняется приглашение командной строки, чтобы было видно, что ты работаешь через окружение. Всё.

Всё остальное делает сам питон, когда ты его запускаешь. Если он находит в переменных среды VIRTUAL_ENV, то использует систему модулей оттуда. Если нет, то он вычисляет, откуда брать модули по тому, откуда был запущен сам интерпретатор.

Поэтому ты просто можешь запускать интерпретатор по полному имени. Не как python my_script.py, а как /opt/virtualenvs/py35/bin/python my_script.py. Тогда тебе не нужно менять PATH (исходно PATH нужен для того, чтобы без полного пути команды запускать, любые, и ни для чего больше), тебе не нужно активировать окружение. Просто берёшь и запускаешь, и всё идеально работает.

Так даже в "домашнем режиме" удобнее работать. А на сервере только так и надо что-то запускать.
449 1842817
>>42799
Да какой-то шизанутый тип, похоже, не очень понимающий, что к чему. Что-то изучивший в универе, и теперь счищающий, что сможет изменить мир, дай только волю и бабло. Типо все разработчики тупые бараны, ничего не могущие, а вот он в универе учился и умные слова знает.

Посмотрел "план", который ни разу не план, очень абстрактно и никакого обоснования ни цифр, ни проблем, которые есть, и что там переделать надо.

В то время как ускорители питона в реальности есть. Например pypy, который с JIT и реально что-то ускоряет в разы, хотя что-то не ускоряет и что-то может даже замедлить. Модуль nuitka.

Кто бы для разработчиков pypy денег подогнал, а то они медленно работают и отстают, только сейчас как-то 3.7 версию поддержали.
450 1842836
>>42817
Там где-то в каментах было, что он уже чем-то таким успешно занимался.
Так что может бы что-то и взелтело, но какой-то уж слишком эпический план.
451 1842864
Почему requests.get(URL) для одного и того же URL возвращает разные данные на локальной машине и на удаленном сервере?
452 1842865
>>42864
Какие разные?
453 1842876
>>42865
Вот ответ с удаленного:
window._sharedData = { "config": { "csrf_token": "1NAFJw6hjWarqoCEvdqqoWA22NvW44n1", "viewer": null, "viewerId": null }, "country_code": "US", "language_code": "en", "locale": "en_US", "entry_data": { "LoginAndSignupPage": [{ "captcha": { "enabled": false, "key": "" }, "gdpr_required": false

Вот ответ с локального:
window._sharedData = {"config":{"csrf_token":"sPZpGC3lTeh6nXAmVmwhwihenhBCx4cw","viewer":null,"viewerId":null},"country_code":"RU","language_code":"en","locale":"en_US","entry_data":{"TagPage":[{"graphql":{"hashtag":{"id":"17842255069035128","name":"bogota","allow_following":false,"is_following":false,"is_top_media_only":false

После ключа "entry_data" все по-разному.
454 1842879
>>42876
Ну как минимум US/RU, я бы в эту сторону смотрел.
455 1842885
>>42879
Возможно, что серверный айпи зашкваренный.
456 1842914
>>42885
удаленный сервер - Heroku. вряд ли айпи зашкваренный. тут что-то с параметрами requests.get(). попробовал с aiohttp.ClientSession(), результат такой же.
457 1842930
>>42914
Как раз таки очень вероятно, там же есть бесплатные планы, с которых можно пакостить.
458 1842933
>>42876
Как вариант, с одного компьютера ты авторизован, а с другого нет, вот и выдаёт тебе разные данные. Сессия легко может быть привязана к ip адресу, например.
459 1842935
>>42933
Лол, так не бывает. Нужны печеньки или другие хуитки, а то всякие локалочки бывают, серые айпи и т.д.
460 1842937
>>42930
вот это попробую перепроверить.

>>42933
тут точно нет.

кто где вообще хостит ботов?
461 1842949
>>42836
Все мы чем-то занимаемся. Но план смотрится "я просто сяду, и перепишу круто", без пояснений. Для меня это признак того, что человек не совсем адекватен.

В команде разработчиков питона вообще говоря очень серьёзные спецы, и если что-то работает медленно, то на то есть объективные причины, что вот просто так не перепишешь, чтобы быстро. Если есть какие-то ограничения, тот же GIL, то потому, что многие фишки языка просто завязаны на эти ограничения и их не выпилишь так просто.

При этом сторонние проекты есть, которые призваны ускорить питон, и даже как-то поддерживаются питон-сообществом. Тот же PyPy.

В реальности всё обычно выглядит так, что ты начинаешь оптимизировать и сталкиваешься с тем, что оптимизировать невозможно, не меняя что-то принципиально в устройстве языка. Вот сложно делать JIT или компиляцию в бинарный код, когда внутри все объекты завязаны на динамические словари, все данные через них. Когда всё объект, а всё объект нужно для того, чтобы всё можно было использовать кк ключ в словарях и т.п. И куча других нюансов.

Если чел серьёзно не контрибьютил в питон, то такие предложения можно даже и не рассматривать.

А выступить с таким предложением может любой абсолютно.
462 1842975
>>42808

>Тогда тебе не нужно менять PATH (исходно PATH нужен для того, чтобы без полного пути команды запускать, любые, и ни для чего больше), тебе не нужно активировать окружение.


Спасибо, анон, примерно так я и понимал это дело. Видимо на стороне разработчика проекта уже какие-то неадекватные требования, на мои логи ошибок он просит «установите 3.5», что очень странно, как я считаю.

Ну там проект на джанге, надо попробовать миграции сделать чтоли...

Алсо, что порекомендуешь для восстановления эээ ммм уу конфигурации пайтона и пипа. Я сначала с дуру все присланные requirements.txt начал ставить и пип улетел в ошибки на любой вызов, вылечилось curlом пипа напрямую, но, мне кажется, у меня сейчас какая-то каша из модулей разных версий. Как вообще лучше всего соблюдать эту гигиену питона, не ломать его зависимости, диагностировать его состояние? Я понимаю, что принцип, возможно, общий для nix систем, но все еще не ясно, как «культурно» разрабатывать на нем. Привык я к сишным гвоздям, забитым в виме и мейку.
463 1842983
>>42975
виртуальное окружение позволяет не засрать систему разными модулями.
464 1842989
Стоит ли вскрывать решения каты или нужно пытаться самому? Напр, если задача чисто на математику и я в этом не силен, и если я просто буду знать формулу, то напишу прогу для решения или буду знать алг для решения задачи. Или я буду довеном после открытия решения? Как нужно, сидеть и дрочить, или скипать.
465 1842991
какую оболочку для командной строки винды сейчас использовать?
чтобы были доступны команды терминала линукс
466 1842995
>>42989
Если знаешь формулу. то в чем проблема ее подставить?
если ты не умеешь 2+2 складывать, то работодателю тоже ответишь, что нахуй мне этот ваш матан. я хочу лишь на жопе сидеть и получать деньги.
Учись гуглить и разбивать задачу на более мелкие подзадачи.
467 1843010
>>42949
Ну как грится - посмотрим, из переписки я понял что он хочет сделать этап -> показать результат -> получить ЗП -> перейти к следующему этапу. Выглядит ок, чо, пускай пилит.
468 1843013
>>42975

>requirements.txt


На редкость порочная практика. В принципе, вещь правильная, если подходить правильно и описывать зависимости руками, указывая диапазоны и ограничения, достаточные, чтобы сохранить обратную совместимость.

Но в реальности все ленивые, тупо делают pip freeze, который замораживает версии библиотек намертво, в духе "packet==3.8.6", хотя всё прекрасно работает и с версией 3.15.2, а другому пакету критично, чтобы версия была не ниже 3.10.1, и вот ебись потом сам с этими зависимостями.

pip freeze это максимум для докер контейнеров решение, и то не идеальное.
469 1843018
>>43010

>получить ЗП -> перейти к следующему этапу. Выглядит ок, чо, пускай пилит.


Вот здесь очень тяжело. Нет работодателя, готового платить полноценную зарплату. Нет того, кто может просто так выделить деньги.

Даже у проверенных и востребованных проектов с именем масса проблем с финансированием.

А так, пускай пытается. Но для меня очевидно, что ни бабло привлечь не сможет, ни что-то сделать реально работающее и полезное.
470 1843059
>>42995
Да не, это все ясно и ты прав.

> Если знаешь формулу


я про каты) а не про работу. Дело в том что кодить - не сложно, если знаешь формулу, если тебе ее дадут написать прогу - как нехуй делать. С алгами - сложнее, иногда решение упиратеся и в знание языка тоже. Например я знаю как, но не знаю какой инстумент заюзать. Конечно я гуглю. Я вообще спрашивал про кодворз) стоит ли вскрывать кату и подсматривать решение или нет? Или надо сидеть прям до конца.
471 1843072
>>42975

>разных версий. Как вообще лучше всего соблюдать эту гигиену питона, не ломать его зависимости, диагностировать его состояние?


Бля, пиздец какой-то. Буквально пару дней назад угрохал кучу времени на то, чтобы понять, почему aiohttp иногда оставляет хендлеры с вебсокетами, когда вебсокеты реально закрыты. Почему не понял, в кишки не лез, но думал, как обойти. Придумал, как правильно размазать сопли в хендлере, чтобы всё-таки такие соединения отлавливать и убивать.

А оказывается, уже целых пять дней назад Светлов выкатил версию aiohttp 3.7 (вместо 3.6), где судя по анонсу, вокруг вебсокетов как раз куча багов закрыта.

И походу мои баги тоже закрылись.

Бля, не мог на пару месяцев раньше выкатить. Ну или полгода ещё подождать, чтобы не так обидно было, столько нервов, столько нервов... Хоть FastAPI изучай.
472 1843097
>>41445
>>43059

> Или надо сидеть прям до конца.


Чего ради ты играешь на кодворсах?
473 1843101
>>43097
А где? Ну я просто набиваю скил и хоть что-то кодю. ДА и попрактиковатся можно. А есть что получше?
474 1843106
>>43097
Верхнее случайно приклеилось.
475 1843108
>>43101
Ну и что за формула? Что за задача?
476 1843154
>>43108
Я не про конкретную) я в целом, стоит ли вскрывать решение или нет, или надо сидеть самому. Я хочу понять стоит ли прям задрачивать математику рад хонора или нет? Програмирование - это же не чистая математика, обработка данных идет по заданному алгу а не по только что выдуманному, для такого есть уже дургие люди. Например, моя задача поднять сервер, а не придумать новый фрейм, алг к тому чтобы поднять. Я вот про что, в рил лайфе, тебе дадут исходные данные, с формлуами, задача - сделаь готовую прогу. А так, уйдут годы, надо будет каждый раз либо изобретать велосипед, либо проводит тоны времени в поисках секретной педали к велосипеду. Чтобы просто поехать.
477 1843172
>>43154
Если тебе интересно, то задрачивай, если нет, то нет.
Что за вопросы детские?
478 1843177
>>43154
Я тоже не понимаю, о чём вопрос.

Хорошая схема такая - ты сидишь и думаешь над решением, что-то реализовываешь, или сдаёшься, если не знаешь как или слишком топорно.

Потом смотришь другие решения, сравниваешь со своим, смотришь на плюсы-минусы другого решения, думаешь, почему сам до такого не догадался.

Ещё хорошая практика в том, чтобы через день-неделю-месяц ещё раз решить задачу уже правильно, другим способом, не смотря в подсказку.

Так ты чему-то учишься и нарабатываешь скилл.

Просто смотреть чужие решения и запоминать их бесполезно.

>Я вот про что, в рил лайфе, тебе дадут исходные данные, с формлуами, задача - сделаь готовую прогу.


Это упрощённое и наивное представление, в RL такого не бывает, чтобы было чёткое ТЗ и описание, как это реализовывать.

В реальности очень смутная постановка задачи, не понятно, как решать, посоветоваться не с кем, при этом задача меняется постоянно на противоположную, и всё это надо вписать в огромную инфраструктуру уже написанного и не очень дружного, куда хрен влезешь со своими правками и хрен вообще разберёшься, что и как там работает.
479 1843216
кто в вебе работает.
Сейчас по асинхронщине как дела?
Больше на нее переходят? Какие фрейморки актуальны?
480 1843221
>>42930
нет, от зашкваренности айпи не зависит. только что попробовал с девственно чистого адреса. все равно лажа какая-то с результатами запроса.
481 1843273
Как мне запилить свою борду? fat api подойдет в качестве бека? Можно пошагово как плис.
482 1843349
>>43177
Просто когда я решаю кату - у меня чувство удовлетоворения, что написал код, вроде как не зря. А когда нет - и упирается в математику - а не в язык - у меня апатия, или когда мейнтейнер криво написал задание. Как то так. Поэтому и спросил, скипать каты - это как, зашквар или нет?
483 1843356
Подумываю запилить бота для двача. Как первый проект, и ради лулзов.
Будет парсить /b/ и в случае совпадение с ключевым словом, постить картинку в ответ на этот пост(Нет не свыню, и нет ключевое слово совсем другое)

Что нужно для этого? Наверняка есть уже такие же боты, но хотелось бы самому написать
484 1843364
>>43356
1. pip install requests
2. 2ch.hk/api/
3. if "русня" in message:
485 1843370
>>43349
Надо, чтобы какое-то удовольствие приносило, иначе толку нет, только во вред, тупо выгораешь от таких задач.

Я не думаю, что есть большой смысл в больших объёмах "олимпиадных" задач. Слишком специфичны и слишком ограничены.

Они полезны, но они лишь малая часть от реального программирования.

В них нет большого кода, который надо организовывать - в них у тебя обычно несколько десятков строк всего. А в реальной жизни тебе нужно как-то упорядочивать огромный по объёму код, чтобы его поддерживать можно было хотя бы самому.

Там ты пишешь с нуля, а в реально жизни тебе необходимо разбираться с логикой разных библиотек, фреймворков и просто чужого кода. В них нет технологий, графики, сети, баз данных, и кучи всего ещё, просто одни алгоритмы.

Порешал эти задачки, займись чем-нибудь более прикладным. Потом ещё можно будет порешать сколько-то, чтобы мозги размять. ИМХО как-то так.
486 1843465
>>43349

>Как то так. Поэтому и спросил, скипать каты - это как, зашквар или нет?


Лично я вообще не мог заставить себя решать подобные задачки. Основные навыки получил при помощи РАБоты, пет-проектов и регулярного чтения документации и разных туториалов. Этого хватает чтобы за несколько минут решать легкие и большинство средних задачек. Ну а тяжелые просто не интересно, поскольку для их решения нужно знать математику и алгоритмы, которые больше нигде не пригодятся.
изображение.png3 Кб, 263x80
487 1843473
Какие же они хуесосы блять.
Перевели машиной СОФ. и сидят блять рекламу гребут. Причем не сразу заметно что это машина, и не сразу заметно, что это парашный клон.
Когда же их закроют блять. Почему бы не выдавать гуглу просто английский СОФ который можно читать без крови из глаз?
488 1843474
>>43465
Ну эти задачки начал решать после прочтения частично луца, укуса и оф доков. Так бы и не начал. Тебе повезло, я только ищу работу. ПОэтому для меня подобные сайты - хоть какая-то практика. Я уже хотя бы могу в синтаксис. Если даже не получается решить, я читал про списки например, про их методы, что-то кодил и тд, уже ставлю себе галочку что что-то делал. Например, задачка был по регулярками, не решил, отложил на потом, НО, я еще раз почитал гугл по теме и освежил в памяти. Строки даются тяжело так как они не изменяемы, и надо постоянно все преобразовывать.
Прогоняю то что могу решить, остальное оставляю на потом. Хочу чтобы это стало частью хобби, даже когда найду работу кодером, буду там сидеть.
К свлоу, хотел бы запилить борду, но не знаю с какого каря взяться. Вот и все. А так - навык есть, хоть какой-то и литл практика. И это лучше чем просто читать.
489 1843476
>>43474

>К свлоу, хотел бы запилить борду, но не знаю с какого каря взяться. Вот и все. А так - навык есть, хоть какой-то и литл практика. И это лучше чем просто читать.


Запилить самому борду было бы намного полезнее чем решать эти задачи.
490 1843477
>>43476
>>43273
НУ вот и помоги мне советом. Который раз спрашиваю и тишина.
491 1843479
>>43477

>НУ вот и помоги мне советом. Который раз спрашиваю и тишина.


Если уже более-менее знаешь язык, то начинай изучать джангу.

https://www.djangoproject.com/start/
https://www.tutorialspoint.com/django/index.htm

Для начала сделай заготовку приложения чтобы была одна веб страница с hello world.
492 1843482
>>43479
Это я уже делал пару лет назад, потом бросил, вот вернулся снова. И это самое простое на мой взгляд. ТАк то джанга проста как палка и хорошо задокументирована, я не знаю только как сделать фрон, а остальное - как бы ясно. Вот эти дзиндзи и прочее.
493 1843483
>>43482

>я не знаю только как сделать фрон, а остальное - как бы ясно


Чего конкретно не понимаешь? Вот тут хорошие туториалы по HTML/CSS/JS: https://www.w3schools.com

Основы верстки можно освоить за один-два вечера, а дальше будешь просто набирать опыт и учиться делать быстрее и лучше.
494 1843484
>>43474
>>43482

>джанга проста как палка


Судя по всему тебе ещё далеко до писания борд. Иначе бы так не писал.

А вообще, конкретно про Джанго, там в офф. доках как раз разбирается пример учебного приложения-голосовалки. Можно его разобрать.
495 1843489
>>42548
Можете рассказать где граница проходит, предположим каждую секунду к сервису обращаются 100 пользователей, это много/мало, как разделять на то где нужен асинхронный, а где нет и кст, хз какого года график, но в джанге же есть асинхронность, че он сосет так
496 1843495
>>43489
График 2016 года.
Просто юзай асинхронность везде и норм.
По факту, синхронные сервисы прекрасно справляются с нагрузкой, там где они подходят под задачу. Но расход средств памяти и ЦП у них выше.
497 1843511
>>43489
В джанге пока не полноценная асинхронность, и основана она на порашных тредах, потом перепишут, плюс у джанги куча обвязки с самого начала уже, можешь миддлвари посмотреть. Базовая джанга из коробки никогда не будет быстрее любого микрофреймворка
498 1843598
>>43473
Первый раз?
499 1843637
Сап народ не в теме машинного обучения но вопрос можно ли запилить тян-бота на основе переписки с тян в WhatsApp. Хз почему такая ебнутая мысль пришла. Если можно как мне от туда вытащить текстовые сообщения и поидее нужно отсортировать их на мои и её и какую лучше библиотеку брать? Tensorflow?
500 1843652
>>43637
Иди в тред машинных обучателей
501 1843657
>>43652
Ок. Соре
502 1843705
>>35577 (OP)
Аноны, объясните нафане, я правильно понимаю, что Питон на компе, должен быть всегда пустой, без библиотек. А библиотеки нужно подгружать в виртуальную среду проекта (в ПайЧарм например), для каждого соответственно свои? Или я как-то не так понял про виртуальную среду?
503 1843731
Аноны, с сервера делаю aiohttp.session.get(URL, proxy=proxy). В ответ приходит Bad Request и 400. Что делаю не так?
504 1843769
>>43731
Куда запрос, какая прокся, скидывай полный код
505 1843801
>>43705
Да, не засираешь системный питон, а в каждом проекте хуяришь венв.
506 1843819
>>43801
А на винде ты разрешаешь засирать мой системный питон?
507 1843842
А можно ли сортировать не все элементы, а только часть?(Например не трогать семерки) Или это самому придется писать? Аля сортировка пузырьком с доп ифом?

Просто вроде в .сорт можно поставить функцию которая будет применяется к элементу до его сортировки, но можно ли с помощью нее делать выборку?
508 1843873
>>43842
Самому педалить придется.
Как вариант это можно
https://repl.it/repls/FrugalVariableInstitutions#main.py
509 1843884
>>43819
Какая разница? Везде засирается одинаково.
510 1843888
>>43842
Можно сортировать по многим критериям
https://www.kite.com/python/answers/how-to-sort-by-two-keys-in-python
511 1843895
Как проверить еще деление с остатком и без кроме как is_integer? Чтобы было так
если число делится с остатком - заебись. или нет. А не так что в равенство пихать эти is_
512 1843900
>>43895
А мод тебя чем не устраевает?
513 1843901
>>43900

> устраивает


фикс
515 1843914
>>43769
вот такой запрос, бро https://pastebin.com/p4jV7QqC.
отдает не то, что бы я хотел. отдает форму входа, хотя на локалке все норм.
516 1843999
>>43842
Можешь сохранить положение семерок а потом их вставить.
517 1845352
>>35577 (OP)
Анон, подскажи книгу на русском новичку для изучения языка. Книг много, не знаю какую выбрать.
518 1845437
>>45352
Укус питона.
519 1854580
>>35577 (OP)
https://dumpz.org/b9gGW6TXWhf2
БД access, таблица Client есть. При открsnbb окна должен в tanleView показать таблицу, но крашится.(( ЧЯДНТ?
IMG20201023111221818.jpg16 Кб, 478x346
520 1869603
Блин, програмач.

Делаю тесты, надо имплементировать поглощающих цепи Маркова на питоне, чтобы на вводную матрицу она выдавала результат - лимитирующую матрицу.

Все тесты кроме одного она проходит. Я убился но могу понять где ошибка, уже от балды рандомные данные вбиваю и смотрю результат. Просто охуеть.

Кто сталкивался, подскажите какие маргинальные случаи стоит попрбовать. Комплексных абсорбирующих штатов по условиям нет. Всегда есть хотя бы один не комплексный.

Уже все перебрал, и когда все штаты абсорбирующие кроме одного и наоброт. Сижу с ручкой считаю все правильно выходит.

Тесты скрытые, данных не вижу.
Тред утонул или удален.
Это копия, сохраненная 14 апреля 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски