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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред №96 /python/ 1773714 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #96

Предыдущий: >>1762623 (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: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
2 1773830
В общем, у меня появилось куча свободного времени я уволился и хочу сменить яп не проседая по ЗП. Имею бекграунд на пистоне со всякими асинхронными штуками и чуть чуть жданги, с настройкой ci/cd, кафкой, nosql и sql базами данным и микросервисами. Суммарный опыт 3 года.
Пока самым перспективным вариантом вижу ГО, т.к. вакансии часто требуют знать два этих языка для переписывания с питона на го. Есть тут перекатившиеся таким образом?
3 1773833
Вечер в хату
4 1773845
>>73830
С чего бы им тут сидеть, если они перекатились?
5 1773868
Зачем использовать рекурсию (например, в каноничном примере с фибонначи)? Её сложно понимать и дебажить, сжирает память при большом n, а какие плюсы? Быстрее работает программа или что? Нафиг она вообще нужна?
6 1773900
Анон, есть тут те, кто обучался бэкенду не из-за любви к этому, а чисто из-за заработка? Как заставляли себя черпать информацию и практиковаться часами, сутками напролет?
7 1773917
>>73868
Потому что есть задачи, хорошо ложащиеся на рекурсию. Например, обход дерева директорий.
8 1773944
Друзья, подскажите как попроще из notebook сделать веб-приложение с кнопками и без кода?
нагуглил viola и как ее в docker запускать.
Но мне для быстрой разработки удобнее было бы на винде.
Как ее на винде запускать?

про nteract тоже нагуглил, но это чистый десктоп.
image.png514 Кб, 374x626
9 1773958
Зазмеился в тред
10 1773961
>>73830
Не пизди. Видел вакансию вместо тебя. Взяли какого-то чувака с 3 курса и он пишет лучше тебя.
11 1773962
>>73845
Насмехаться над джангохолопами, конечно.
Пиздос, анон. 3 месяца уже сижу, ищу РАБоту. Шутка ли, я оффер из гейропы быстрее получил, чем тут устроился джуном, лол.
12 1773973
>>73962
Ты нулевый просто. Даже твой "опыт" и то гавно судя по всему, раз не берут
Я получил оффер на джуна спустя 2 недели после публикации резюме (через неделю сделал одно из тестовых (около 2 дней делал), а еще через неделю прошел собес)
13 1773978
>>73973
Я вообще другой анон, не тот который про ГО спрашивает. Много собезов проходил и везде говорили, что всё заебись, но в итоге постоянно срывалось. Последний технический собез прошёл вообще замечательно, но вот хуй знает, как-то не берут и всё.
14 1773992
>>73978
Попробуй помыться.
15 1773997
>>73978
Видимо ты какой-то "не от мира сего". Умение общаться и т.п. тоже играет роль. Может как программист ты и хороший, но видимо просто не умеешь в социум.
16 1774028
>>73944
С кнопками? А что, есть такое? Типа, фронтенд чтобы сам рисовался или как?
17 1774030
>>73992
>>73997
Да хрен его знает. Мы и поговорили довольно хорошо. Первая часть последнего технического собеза по большому счёту и была про софт скиллы. Для полной картины оставалось только пивас принести и за ним обговорить что-нибудь на злобу дня, лол.
Мне кажется у меня какой-то фундаментальный косяк в знаниях, когда я с умным видом несу хуйню, а мне из-за неё отказывают. Грустно короче.
18 1774043
Зачем питон лезет в Веб, если для этого давно и успешно есть php? Нахрена всякие джанги, когда есть Лара? делать сайтики на питоне же это как писать нейросеть на html, разве нет?
19 1774068
>>74043
То есть ты мне предлагаешь выучить +1 язык, чтобы веб приложение написать?
20 1774069
>>74043
Вся веб-дрисня, изначально заложенная в пхп уже давно выпилена или легаси. Сейчас это язык общего назначения с отдельными фреймворками под веб, точно так же как питон. И в чем же критическая разница, на чем писать?
21 1774073
>>74030
Если с социумом все в порядке, но не можешь найти работу в офисе, так почему бы попробуешь вкатиться во фриланс? Надеюсь, что с инглишем все в порядке.
22 1774082
>>74030
Так че ж ты не спросил, почему отказали? Ну ты и гений канешн
23 1774090
>>74073
Фриланс это такое. Деньги там новому хую вообще нереально заработать, как мне кажется

>>74082
А потому что прямых отказов то и нет. Постоянно какие-то причины у них находятся.
Candidate-DataAnalyst-Copy2.jpg98 Кб, 641x427
24 1774099
>>74028
Да.

На самом деле я лоханулся.
есть пакет voila и viola.
Мне была нужна voila, которая ВУАЛЯ.

Все работает.
25 1774105
>>74068
Нет, лучше саморезы молотком забивать, потом что ты же не предлагаешь купить + ещё один инструмент?
Хотя, позиция ясна и имеет право на жизнь.
26 1774112
>>74069
а копировать код у датасатанистов, которые на самом деле пиздят его в других местах, я как должен?
27 1774121
>>74112
API. Во всяком случае, так принято в цивилизованном мире.
28 1774123
>>74090
С хуя ли невозможно? У меня как минимум один знакомый есть, который уже полгода как в upwork нашел работу по контракту, месячная зарплата 2600 долларов. Очень даже неплохие деньги.

Алсо, как в Django вкатился? Тоже вот думаю начать. Может посоветуешь чего.
29 1774125
>>74121
А мы хотим копировать.
Хотим делать волшебные манипуляции с данными в pandas с скоростью Си.
Хотим расхуячивать json-ы как мы привыкли.
Хотим гуглить стандартные для питона, но нестандартные для php ответы в stackoverflow.

И тд и тп.
30 1774143
Представил себе библиотеку для подключения китайцев. Типа такого:
.
from chinase import sort
.
result = await sort.images(imgs, classes)
.
И китайцы где-то в подвалах вручную тебе сортируют картинки (как пример) за копейки.
Есть такой фреймворк уже, нет?
31 1774144
>>74043

>Зачем питон лезет в Веб, если для этого давно и успешно есть php?


А зачем джаваскриптомакаки придумали свою ноду? Чтобы не учить лишний язык и лепить свое дерьмо везде. Субд свою только блять осталось написать с запросами на своей хуйне.
32 1774145
>>74125
А веб тут при чём?
33 1774147
>>74143
Есть. amazon mechanical turk
34 1774148
>>74143
Это называется image embedding - использование готовой нейросети, без финального слоя.
Заранее натренированная крутыми компаниями нейросеть выдает набор чисел и у похожих картинок близкие числа в n-мерном пространстве.
Только вот n ~= 2048 и как ты будешь сортировать - хуй знает.

А так,да. Такой фреймворк есть.
35 1774157
>>74148
Да я просто первое что попало в голову привёл, так-то понятно что нейросеть уже сортировать умеет.
Этот анон уже ответил:
>>74147

>amazon mechanical turk

36 1774175
>>74157
А смысл? в амазоне ничего дешевого нет. Мамку и сестру твою посадить сортировать котиков дешевле будет.
37 1774189
>>74145
окей, ты наверное хотел узнать, почему питон, не будучи языком для дрысни и CRUD, лезет в нишу, где дрысню и CRUD пишут обычно на PHP ?

Ну так нам помимо сложных задач, нужно же на чем-то писать дрысню и CRUD. Зачем второго программера нанимать?
38 1774192
Как установить сразу несколько рабочих версий Питона? 3.6, 3.7, 3.8 и 2.7? Чтоб на основе каждой из них можно было создавать своб виртуальную среду (реквестирую инфу что для винды, что для линуха)
39 1774199
>>74145
Покажи нормальные реализации ORM на PHP.
Ты бугуртишь, что у тебя хлеб отнимают что ли?
А еще веб сервисы на Go, RoR, Java пишут иди у них поной.
Python в плане фреймов не тянет за собой джунгли говна, в этом плане Go еще практичнее, но и пердолинга больше.

К тому же на питоне удобнее (не лучше) оформлять несвязанные данные и выдавать удобночитаемые данные для человека из-за своих нативных типов, в пэхе это адъ.
40 1774201
>>74192
берешь и ставишь. Во многих дистрибутивах про 2.7 уже забыли и перекатились на 3.6(легаси) и 3.8.
Инфа... ну читай про venv\pipenv.
Но ты объебешься на самом деле. 3.6 может не запуститься с 3.8 из-за синтаксиса и наоборот. 3.7 туда же.
И это моветон какой-то. Ладно если на галере легаси, а если с нуля, то нахера таким заниматься? В системе может быть куча интерпретаторов и этим может Conda заняться.
41 1774202
>>74175
Суть в автоматизации процесса и предоставлении программного интерфейса к людям.
42 1774208
>>74202
Типа, если смотреть в будущее, то это задачи типа "сходить туда-то, сделать то-то в реале"
43 1774250
>>74208
я не вижу тут никакой автоматизации. Ты нам из Долины пишешь где 90% венчурного финансирование не жалко слить в Амазон?

Берешь и даешь объяву на yoodoo. На Яндекс Толоке.

20% денег amazon себе берет за эту хуйню. За веб-интерфейс и по сути за нихуя.
44 1774255
>>74250

>20% денег amazon себе берет за эту хуйню. За веб-интерфейс и по сути за нихуя.


Ну так ты больше потратишь пока сам найдешь эту тысячу китайцев.
45 1774258
На кой в методе писать вот так:
super(TimeoutHandler, self).prepare()
если можно писать так:
super().prepare()

Эффект один и тот же жи. Только лишний код плодить
46 1774275
x = 10
for i in range(0, 10000, x):
print(i)
x = x * 10

Как менять переменную внутри range ??
47 1774284
>>74275
Никак, range инициализируется на старте. Можешь через while колхозить.
48 1774287
>>74275

>range(0, 10000, x)


На этом моменте ты уже инициализировал генератор кек. Поэтому твои потуги с x = x * 10 идут в никуда. Я догадываюсь что ты хочешь сделать, но для этого надо написать свой собственный генератор (не так уж и сложно), либо хуярить инкерменты через while
49 1774293
50 1774324
>>74250
Ты не понял. Например, в программе я парсю сайт погоды, затем в зависимости от погоды вызываю тот или иной метод библиотеки, в котором вкратце описываю разные варианты того, что нужно сделать (полить помидоры, привезти зонт, позвонить по номеру и спросить васю, да что угодно). Всё, скрипт вертится на серваке и ничего больше елдать не нужно.
Можно так например пошаговую стратегию замутить из реальных людей и другие приколы.
Понятно, что это дорого, но я и не говорю, что общество уже готово к такому, тем более у нас. В программировании вообще вопрос денег вторичен, когда речь заходит о новых технологиях.
51 1774330
>>74255
Кто платит тиктокерам за ту хуйню, что их заставляют делать? Однако, они делают и даже по собственной воле.
52 1774339
>>74324
Программирование уже пока нахуй не нужное, интерфейс нужон, заебло руками всё делать да в дисплеи каждый раз пялится. Разницы нет в окно помотреть погоду или в моник, один хуй долго. Так что макаки вы пока из пустого в порожнее погоняйте да подождите пока умные люди родятся и за вас вё сделають
53 1774362
>>73714 (OP)
Анон, подскажи с решением правильным подходом при решении задачи:
На работе дали задание, отсортировать два списка по номерам.

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

Что лучше?
54 1774369
>>74362

>два списка по номерам.


Список-1, список-2.
Готово.
Какой ТЗ, такой ХЗ.
55 1774396
>>73714 (OP)

>Так-то у питона много говнокода понаписано, а мы называем это библиотеками гыгы


>А эти ваши плюсы ебаные-непонятные с войдами какими-то это нам не надо всё. СЛОЖНА СЛОЖНА 3D моделирование какое-то, какие-то векторы, блять, ещё и математику нужно считать, потому что подразумевается, что для использования C++ библиотек ты должен знать её. Ну нахуй в общем. ДАЙТЕ МНЕ КОСТЫЛЬ, ХОЧУ КОСТЫЛИТЬ


вся суть питона as is
56 1774403
>>74396
Зачем нужно что-то кроме ассемблера - вообще не понятно. Сами себе жизнь усложняют всякими языками. Да и от компьютеров, в целом, отказаться можно, от этих костылей лектрических. Мозги человеку на что?
57 1774406
>>74396
Ну так пиши на Плюсах. Кто мешает-то?
58 1774417
>>74396

>А эти ваши плюсы ебаные-непонятные с войдами какими-то


Очнись, Мань, высокопроизводительные либы питона (numpy, numba, FastAPI) написаны на плюсах частично либо целиком
59 1774418
>>74324
чудес не бывает.
Все что ты можешь купить - это разметку датасета.
файлы и типовой интерфейс.

На Авито объявления давай, если тебе так уж захотелось.
60 1774424
>>74362
Списки в чем? Тебе обязательно дерьмокодить, нельзя просто в экселе или чем-то таком отсортировать?
61 1774432
>>74424
Нет. Из джиры запрашиваются задачи и только после получения можно как-то фильтровать.
В теории, возможно у Джиры запросить уже отсортированные...
62 1774440
Пофлудил и хватит
63 1774457
"Автоматизация рутинных задач" есть на русском в полноценной электронной версии, а не в виде скана?
64 1774494
>>74362
Не надо ничего парсить в циклах и xml.
Погрузись в pandas, пусть тебе включат апи и наверняка все легко и красиво обработается
65 1774511
2020-08-12 021135-Greenshot.png34 Кб, 1038x646
66 1774712
Письканы ! Проблематика вопроса встала очень серьёзно: в правом верху экрана на картинке вы наблюдаете число которое мне нужно вернуть(return) из самой внешней функции но у меня всегда None. Что то не так или я вообще не так делаю ? Самая внешняя функция чиста тестовая остольное моё
67 1774715
>>74712
Потому что ты возвращаешь None (неявно). Что не ясного? Посмотри что возвращает твоя thirst
68 1774747
>>74712
попробуй return recurs(n)
69 1774762
>>74712
В пайчарме есть дебагер. Он тебе поможет, дружок-пирожок.
70 1774836
>>74712
Зачем ты делаешь функцию в функции?
71 1774840
Хочу пилить ботов для игр, начиная с браузерок и заканчивая мморпг.Питон подойдёт?
72 1774857
>>74836
Для codewars
73 1774861
>>74840
Ну смари малёк, ты сам с какого города ? Хуй сосёшь ? Бочку делаешь ?
74 1774867
>>74857
Это что такое?
75 1774868
>>74857

>codewars


Нахуя им класс в классе? Они ебанутые? Никакого применения в этом нет практического.
76 1774873
>>74867
Сайт где школьники пишут задачки по програмированию(различные вариации проэкта эйлера) и другие школьники их решают, в достаточно неплохом интерфейсе для веба
77 1774878
>>74868
Ааааа, это уже моя методика (супертехника) была, что бы удобнее в сторонней IDLE было писать а потом туда копипастьть на сайт codewars. Но я сейчас сделою нормально спасибо что ткнул носом в этот очевидный покак.
78 1774880
>>74873
О спасибо за Эйлера посмотрим что такое а то надо как то практиковаться пока уроки программирования на ютубчике смотришь.

мимо 35летний школьник-самоучка
79 1774896
>>74880
Ну лично я между эйлером и кодварсом выбрал бы второе, там прикольно на самом деле , есть система уровней за каждую задачку дают опыт, ну и вообще преобретает некий игровой процесс. Задачи можно сортировать по типам(работа с масивами или со строками, алгоритмы или фундоментальное что-то) и по сложности. ну еще показывает решил ли ты задачу или нет, в то время как
ответы эйлера надо гуглить и сравнивать со своим ответом Единственный минус это то что на английском(хотя как посмотреть), в крайнем случае можно воспользоваться встроенным в браузер переводчиком страниц если с хрома
80 1774899
>>74896
Как-то по жабаскрипту решал там всякую хуйню.
"Лучшее" решение очень часто - просто конструкция в 1 строчку из ДЕСЯТКОВ НАХУЙ map/reduce/every/filter и прочих стрелочных функций.
Долбоебы восторгаются "ох как пиздато и кратко написано, респектос".
А нормальное читабельное решение, которое еще и выполняется быстрее, тонет.
81 1774907
Изучаю строковые методы. Можно ли сделать так, чтобы я передавал в .format только имя словаря, а ключи указывал только в строке?

slovar={"name":"Jencent","doljnost":"лох"}
text= "Хей, тупой %(name)s опять обосрался, ведь он %(doljnost)s!"
print(text % slovar)

Хочу сделать то же самое, но через .format. Пока только так:
text5="Хей, тупой {name} опять обосрался, ведь он {doljnost}!"
print(text5.format(name=slovar["name"], doljnost=slovar["doljnost"]))

То есть мне приходится костылить и создавать новые объекты.
82 1774915
>>74907
Попробуй распаковать словарь:
text.format(slovar)
83 1774916
>>74915
А ну да. Две звездочки перед словарем, ну ты понял.
84 1774917
>>74916
>>74915
Охуенно, анон, спасибо. Я просто у лутца ещё не дошёл до звёздочек в аргументах, хотя читал про это в другом месте.
85 1774919
>>74907
По-моему, под это был какой-то специальный метод, но я забыл. Надо посмотреть.
86 1774921
>>74919
format_map, о.
87 1774927
>>74921
>>74919
Да, с этим методом можно без звёздочек.
88 1775032
>>74896
Ну а про литкод что скажешь ?
89 1775057
>>75032
Слышал про него, но не разбирался, да и не особо хочется если честно, поэтому ничего не скажу, сам я редко пишу что-то сложнее парсера медиаматериалов с интернетов, поэтому не вижу смысла для себя лично в алгоритмы вдалбливаться, разве что побаловаться
90 1775094
>>75057
Ну а как практиковаться тогда если только начал изучать ?
91 1775131
>>74907
slovar={"name":"Jencent","doljnost":"лох"}

text = f"Хей, тупой {slovar['name'] опять обосрался, ведь он slovar['doljnost']!"

f-string c 3.7 точно есть.
92 1775138
>>75094
в чем?
93 1775192
>>75138
Ну в Питоне
94 1775194
>>74712
Это на 6 кю или на 7й задача?
95 1775197
>>74907
fstring
96 1775205
>>75194
5ка
97 1775208
>>75194
А чо проблемки какие то ? Ты сам кто по масти ?
98 1775222
>>75208
Сам по жизни - мужик, сижу на 4 кю.
99 1775249
>>75222
Как ты возвысился опиши свой путь ?
100 1775272
>>75192
Не особо понимаю суть вопроса,что значит тренироваться в питоне? создавать объекты, переменные и изменять их значения колдоябя их туда сюда? Если да то тогда создавай обьекты, переменные и колдоебь их туда сюда. И смотри как оно работает.
Ты бы лучше чего поконкретней спросил, как практиковаться в веб разработке, как практиковаться в автоматизации, как практиковаться скрапинге, как практиковаться в в создании ботов для телеграм/дискорд как практиковаться в РазличнаяОбластьНейм
Но в интренете на это и так есть куча гайдов, из разряда посмотрел повторил, по возможности запомнил
Причем я еще не особо понял вот это >>75094
я же не запрещал пользоваться леткодами, просто сказал что я о нем ничего сказать не могу, и еще уточнил что лично для СЕБЯ не вижу смысла, не то чтобы мне алгоритмы были не нужны, но мне достаточно того что я уже знаю, а машин лернингом заниматься и датой в планах у меня нет
101 1775291
>>75249
Дык просто сидел и решал

из интересных ката сделал вот эти:
102 1775292
>>75272
Решение задачек на базовые методы и структуры и стандартную либу, очевидно же.
104 1775300
>>75272
Да но как после мини курса в Ютубе начать делать что то рабочее ? По типу бота для игры или парсинга что ни будь типо этого ? Как соеденить python и реальный так сказать мир ? С чего начать ?
105 1775303
>>75298
Особенно доставила вот эта:

https://www.codewars.com/kata/52f831fa9d332c6591000511

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

Ну а вообще я сразу пропускаю все вида "решается просто, но будет ограничение по времени хи-хи", тк это всё от додиков, которые прошли алгоритм на парах и его закидывают имплементацию на codewars. Я не кодер - мне особо не надо
106 1775402
Работать джуну сегодня можно только джанго-веб-макакой? По-другому не войти?
107 1775418
Хочу высказаться на тему PyCharm vs VSCode.
На сегодня побеждает PyCharm, и вот почему: вначале я на нем плотно сидел, каждый день. А то и несколько раз в день. Потом мне посоветовали vscode, и я пересел на это дерьмо. Оперативы жрет меньше, бесплатно. Но на этом плюсы заканчиваются, друзья. Обнаружил 3 весомых минуса, которые заставили меня вернуться в PyCharm:
1. Неудобное дерево файлов. Да, за пол года я так и не смог к нему привыкнуть. Кручу-верчу колесико в поиске нужного файла. Ужасно раздражает.
2. Опять из темы удобства - если открыто более 10 файлов, легко забываешь, в каком только что был и опять поиск нужного файла - а заебывает.
3. Ебаные глюки python-интерпретатора, когда дебаг просто не останавливается в нужном месте в коде. Забагованная хуйня. То же самое при тестировании - нормальный режим и дебаг по-разному работают с тестами, пиздец подстава.
108 1775420
pycharm уже умеет нормально обновляться без сообщений "ну короче хуй знает, у тебя ебала какая-то, скачай меня заново"?
image.png212x19
109 1775421
Привет аноны. Я тут переписываю питоновский код на другой язык (на js), и вот на этом месте немного озадачился. Что это за синтаксис с условием посреди выражения и какова его функция?
110 1775431
>>75420
Нет. Я узнал об этой хуйне недавно. Похоже нельзя пропускать сильно много апдейтов
111 1775436
>>75421
Тернарный оператор. x if bool else y
112 1775437
>>75300
Если тебе этот конкретный мини курс не дал, знаний на то, что ты хочешь сделать( бота,парсинг) то никак, ищи следующий прям берешь и пишешь, в поисковик, "Питон скрапинг сайтов" или "Питон бот для игр"
113 1775438
>>75421
е равно 64 умножить на е прибавить р если конд иначе р
if cond:
__e=64*e+r
else:
__e=r
114 1775439
>>75436
>>75438
Спасибо!
115 1775441
>>75292
пиздец ты душный)
116 1775484
Поясните тупому. Вот я начал решать первую задачу с кодварс. Почему этот код не робит?

def likes(names):
if len(names) is None:
return print("no one likes this")
if len(names) == 1:
return print(f'{names[0]} likes this')
if len(names) == 2:
return print(f'{names[0]} and {names[-1]} like this')
if len(names) == 3:
return print(f'{names[0]}, {names[1]} and {names[-1]} like this')
if len(names) > 3:
return print(f'{names[0]}, {names[1]} and {len(names)-2} others like this')
117 1775485
>>75402
Может еще и Фласк? Не уверен. Потому что наплодили обезьян.
118 1775501
>>75437
Ботов сейчас делают на платформах, где программирование вообще не надо знать. Ну может lua немножко.
Нахуй эти велосипеды.
119 1775510
>>75484
0 is None #False
пробуй == вместо is

>>75501
спасибо за информацию чел, я не сведом в вопросах ботостроения, но хорошо хоть сведом что это тред о питухоне
120 1775512
>>75484
Индус, ето ти?
121 1775514
>>75484
>>75484
а еще ты ретернишь принты когда надо значения (принт возвращает None)
122 1775542
>>75484
Ну ты охуел - не понимашь как работает return и print, но уже fstring юзаешь )))

Тебе уже ответили что принт не возвращает ничего, и еще у тебя хуйня во 2 строке. Напиши if not len(names):
123 1775544
>>75484

Всем тертарных операторов в этом треде

return "no one likes this" if not len(names) else f'{names[0]} likes this' if len(names) == 1 else f'{names[0]} and {names[-1]} like this' if len(names) == 2 else f'{names[0]}, {names[1]} and {names[-1]} like this' if len(names) == 3 else f'{names[0]}, {names[1]} and {len(names)-2} others like this' if len(names) > 3 else None
124 1775545
>>75544
тернарных * )
125 1775551
Как вкатываться в петон с нуля? Джунил год на .net# пока не случился карантин и отдел не распустили. Опыт в общем-то есть, работал с несколькими фреймворками, но хочу войти гладко. В планах codecademy.
126 1775553
>>75542
сейчас везде фстроки учат впервую очередь , а если это точка формат а то и %% то скореее всего учебный материал раньше 15ого года
127 1775554
>>75551
а че дальше не джунишь на до диез?
128 1775555
Искусство программирования, том 4А. Комбинаторные алгоритмы, часть 1 - что скажите о сией книге ?
129 1775557
>>75554
Вакансий по близости нет уже полгода, только интерны на 3 месяца и практика. А в дс/дс2 на 8 собесах я не смог добиться удаленки ну еще я хуйло, бтв. Зато на петоне каждый месяц по две-три всплывают и мне петон больше нравится.
130 1775563
>>75557
Ну посокольку ты уже проработал годик в отличии от 80% этого треда погромистом,+ ты сказал что тебе питон нравится больше, то это уже точно не с нуля,так что просто выбери одно из направлений и развивайся в нем, правда как бы не получилось потом что с вакансиями будут проблемы из за того что петухон самый распиареный и популяризированый среди вкатышей, конечно у тебя есть опыт разработки, но как бы это не нивилировалось тем что ты хуйло
131 1775569
>>75555
Хуя, квадрипл, тебе именно по алгоритмам книга нужна?
132 1775570
>>75563
Я заказал пару книжек по машинному обучению, но уверенно себя не ощущаю, а самостоятельно только хуи пинаются. Поэтому хотел поэтапно. Да и первые, хорошо известные мне главы, очень быстро проскочат.
Ладно, думаю cademy хватит, а там уже будет видно.
133 1775575
>>75551

>.net# пока не случился карантин и отдел не распустили


Кек. У нас шарпистов также отправили в свободное плаванье и заменили пистонистами и го-дрочерами
134 1775576
Челы, есть желание вкатить в питон.
Бэкграунд - алгоритмы 0, с когнитивными способностями и вообще с башкой беда. Из околорелевантного опыта - рисовал парашу на флеше с небольшим говнокодом во фреймах в древние времена, еще до as3. Потом оказалось, что я могу сесть и немножко писать на js скриптоговно, ибо языки одной спецификации. Ну чем я и занимался последние лет 7-8. Плюс писал не на современном языке, а на устаревшей BPM с доисторическим движком, где 90% кода - это ее специфические функции и апи.
В общем, даже из 1Сника червя-пидора программист лучше меня.

Посоветуйте книгу или онлайн ресурс для вката. А то в шапке много, а что выбрать не знаю.
Желательно, чтобы доходчиво, с основами. Желательно, чтобы затрагивалось создание GUI. И будет особенно охуенно, если будет дано четкое понимание и применение ООП, а не на уровне "ыыы короче вот животные наследуем 4 лапы и хвост" или какой-нибудь ебалы с геометрическими фигурами.
135 1775577
>>75553
Понял тебя - скорее всего так и есть. % я понимаю что не всегда норм, но вот формат это же вообще просто пиздец мощная штука, если освоишь.
136 1775579
>>75576

>Бэкграунд - алгоритмы 0, с когнитивными способностями и вообще с башкой беда.


Тогда ты по адресу.
Я со своей колокольни могу посоветовать курсы JetBrains. Правда они вроде сейчас стали платными вроде как, так что хз. Курсы на Stepik ещё крутые.
>>75576

>И будет особенно охуенно, если будет дано четкое понимание и применение ООП, а не на уровне "ыыы короче вот животные наследуем 4 лапы и хвост"


А хули тебе ещё надо то? Иди читай Эрика Мэтиза - Изучаем Питон. Мне понравилось, как он там с классами рассказал. Довольно большой кусок книги про них.
137 1775580
>>75579
Ну платность не проблема, главное чтобы толк был. Я бы даже купил ноут и на очные пошел, пофиг.

>читай Эрика Мэтиза - Изучаем Питон


Спасибо, гляну.
138 1775581
>>75563

>самый распиареный и популяризированый среди вкатышей


Они повально идут в QA, некоторые особо упоротые в Data Science стажировку (но без мат бэкграунда). Если чел имеет опыт в бэке и не чухан, его таки возьмут
Я вакансию джуна получил весьма быстро. На собесе поотвечал оперативно на вопросы и притащил проект, в котором настроил сервак на debian, nginx, gunicron с моей приложухой на джанго и postgres + немного фронта на бутстрапе и ванильном жс завез; вакансия была нихрена не на джанго но тем не менее мне уже на следующий день позвонили и сказали что берут (ДС2)
139 1775582
>>75580
Но там аккурат с животными. Однако порешай упражнения, которые там даются. Там со всякими пиццериями и т.д.
140 1775586
>>75581
Очень мало видел кто в QA макаки вкатывается, конечно возможно так и есть, но они молчат и их не видно, а тех кого видно пытаются стать джангодибилами(без обид кого задевает, просто для меня это уже нарицательное)
141 1775587
Сап. Осваиваю Django. Подскажите по Jinja, плиз.
Вставляю строку(надеюсь, синтаксис не съестся):

<p>Создано: {{ post.Created_At }}{% if post.Crated_At != post.Updated_At %}, обновлено: {{ post.Updated_At }} {% endif %}</p>

В моём понимании если "Crated_At" и "Updated_At" равны, то ", обновлено:..." не должно выводиться. Но оно всегда выводится. Можно это как-то пофиксить?
Судя по тому, что я нашёл, дзндзя и не в такое умеет, но не пойму, как.
142 1775590
>>75586

>джангодибилами


+
Фреймворк не совсем уж говно. Свои задачи он решает, но вкатывальщики уж больно много уповают именно на него. Привыкают что там все out of box, а потом начинается "пацаны, а че химия БД не видит"? "а че шаблоны не рендерятся по дефолту"? и т.п. если че то да, начинал я тоже с джанго и пет-проект был на джанге
143 1775618
вот напейсал себе rest приложение flask celery redis как мне его правильно тестить через unittest, устанавливать соединение через setUp/Teardown, а потом чо ассертить, чет туплю нужна подсказка
144 1775621
>>75618
ассерти response_code либо содержимое респонсов, хуле
для тестов с БД селекти данные оттуда и проверяй на валидность (только блять не тести на основной БД, а создавай отдельную для тестов и стирай в конце тест-кейса)
145 1775625
>>75514
>>75542
Кто вам сказал такое?

>>>> def p(name):


... return print(name)
...

> >>> p('hey')


hey
Все возвращает. Или вы о чем?
.jpg55 Кб, 427x479
146 1775626
>>75621

>не тестить на боевой бд


У нас был один гуру sql, который любил позапросить в боевой базе. Пока он еще работал, ему дба чуть пизды не дал, когда заебался килять его сессии с локами или шринкать транзакционный лог.
147 1775627
>>75621
понял принял, спасибо
148 1775629
В чем разница между

for x in collection:
await x.action()

и async for x in collection

?

Зачем вообще async for нужон?
149 1775630
>>75629

>for x in collection:


Предусматривает, что у тебя уже есть коллекция объектов и ты что-то должен с ними сделать

>async for x in collection


тут коллекция - корутина, которая время от времени возвращает тебе значения, например, ты так можешь итерировать сообщения веб-сокета, которые будут поступать в эту коллекцию время от времени
150 1775725
Да, мне надоело бараном смотреть на простые практические задания если там естььхоть какая то комбинаторика, но эта книга похоже слишком жуткая да и python кода в ней похоже нет. Мне бы что попроще и с питоном
151 1775726
>>75570
Что за cademy ?
152 1775727
>>75625
Это не возвращение чел, это вывод текста в стдаут, а само значение возвращается None сравни в интерпритатаре print("говно")==None?функция принт выведет текст в стандартный консольный вывод затем вернет ноне , а затем сверит и скажет что равно.
Чел у тебя хотя бы пару месяцев изучения есть? мне кажется, что нет
153 1775729
>>75727
Да я уже второй год на питоне работаю. Не понимаю о чем ты.
Какая нахуй разница, мне нужно распечатать или вернуть.
154 1775730
Поясните в двух словах тупому, что такое асинхронность в коде питона, зачем и для чего?! Многопоточный, асинхронный....Кошмар.
155 1775731
>>75729
Ну братик если ты за 2 года не понял как работают функции, флаг тебе в руки в таком случае, удачи и всех благ
156 1775732
>>75727
А если использовать return yield?
157 1775733
>>75732
Используй лучше return средств у того кто тебя обучал, если конечно таково имело место быть
158 1775734
>>75731
Я понимаю как это работает. Проблема видимо в том, что я распечатывал, а не выводил. Понял. Просто обычно работает с принтом.
159 1775750
Кракозяблики(мамины) очень нужна ваша сила знаний. Как гуглить о том как устроены стандартные и неочень функции внутри ? Я в инглише неоч. Например сейчас надо узнать как работает функция combinations которая from itertools
image.png63 Кб, 724x598
160 1775752
>>75750
help(sumeshit)
161 1775758
>>75752
Слишком сложно бля
162 1775759
>>75758
создаешь file в 2 строчки

from itertools import combinations
help(combinations)

запускаешь, смотришь вывод в консоль
163 1775761
>>75759
да это то понятно,я прост думал там обычные циклы внутри или что то типо, а там какие то подчёркивания и тд и тп
164 1775763
>>75761
дантер методы,
ну тогда еще доки можешь глянуть https://docs.python.org/3/library/itertools.html#itertools.combinations
правда там написано это примерно эквивалентно
165 1775765
>>75763
О да, спасибо. Надо научится официальными источниками пользоваться кста
image.png4 Кб, 605x75
166 1775810
Анонсы, что это значит?
Перед этим я конечно обновил pip и установил future
В системе только один питон

ImportError: cannot import name 'print_function' from 'future' (C:\Program Files\Python38\lib\site-packages\future\__init__.py)
167 1775824
>>75729

>второй год на питоне работаю


>не знаю что такое возвращаемое значение


Пиздец блять. ЖСеры просто сверхразумы по сравнению со средним питонистом
168 1775834
Наверно не совсем в тему, но посоветуйте какой-нибудь онлайн инструмент для хранения полезных скриптов, чтобы не проебать.
Не проектов и файлов, а чисто небольших кусков, которые я мог бы найти по тегам и переиспользовать быстро.
Т.е. написал полезную функцию, закинул туда и докинул тегов, чтобы быстро найти. Например "python, csv" и т.д.
169 1775837
>>75834
GitHub
170 1775838
>>75834
govnokod.ru пойдёт?
А если серьёзно, то для себя можешь приспособить github, pastebin и т.п., но для небольших огрызков будет удобнее в evernote или аналогах.
171 1775839
>>75810
Это значит что ты дебил и не читаешь документацию.

>from __future__ import print_function

172 1775844
>>75839
У меня точно такой же код работает на маке и не работает на винде.
При чем тут документация?
173 1775849
>>73714 (OP)
Всем привет
Планирую запилить свою простенькую игру браузерную
Примерно как травиан или икариам(ну типа строить город, он там сам по себе строится, развитие), но сильно на минималках, куда проще
Цель не коммерция (ни в коем случае), а для души
аноны отправили в тред js, подскажите, реально ли без особого гемора сделать это на питоне?
Получается, что нужна серверная часть, на которой должны быть какие-то события, какой-то клиентский интерфейс, какая-то база данных, и все это должно взаимодействовать по сложным законам

Если реально, то есть какой-то пример такого взаимодействия, но с минимумом наворотов? Чтобы я подхватил основные вещи, но не запутался в деталях? Какой-то базовый образец для неофита, который хочет вкатиться на полщишечки для своих локальных целей
На js не писал никогда, писал костыли на питоне
174 1775863
>>75849
Так давай по порядку, что такое js ?
175 1775871
>>75863
Предположу, что JavaScript
Смысл в том, что нужно какое-то серверное приложение, которое будет доступно через браузер (собственно, браузерная игра), иметь какую-то оболочку, но при этом все действия будут осуществляться на сервере, и будут осуществляться даже когда ты не в браузере
Например, здание строится 10 минут, и тебе не обязательно сидеть в браузере все время
176 1775874
>>75844
Я видел твой пост вчера в другом треде
Изучи сначала основы веба и передачи данных. Потом пограмминг трогай. Тебе в любом случае придется быть фуллстек типом: и фронт и бэк на тебе. Фронт будешь хуярить на жс, никуда не денешься, серверный код тоже можешь написать на жс (Ноде) но тут выбор шире, мне лично не нравится хуярить серверный код на ноде, простенькие и не очень API норм пилятся на этом самом пистоне: фласк или FastAPI бери
177 1775876
>>75863
>>75871
Скорее всего, при описании этого все решили, что js - это максимально подходящий язык под вот это все, и потому отправили туда
Потому и спрашиваю про питон и возможность реализовать на нем
178 1775886
>>75844
Версии интерпретаторов сравни и changelog почитай, заебал.
179 1775889
>>75874

>Я видел твой пост вчера в другом треде


Я не писал никаких постов вчера, я вебом не занимаюсь, этот скрипт общается вообще с апи определенного софта
180 1775893
>>75874
Уже лучше
Примерно понимаю, о чем ты
Но со мной это так не работает, мне для понимания нужна конкретная задача, теория в моей голове без практики не задерживается больше пары часов
Мне бы какой-никакой простенький проект подобной реализации: реализации серверной части на питоне уровня у меня есть сервер, и клиентской части на чем угодно, чтобы пускало на веб морду, чтобы была эта самая веб морда
Необязательно как-то хитро изьебываться и искать ради ньюфага, просто плиз скажи некие теги, как правильно гуглить
Да, прошу удочку, а не рыбу

И да, в твоём посте нет ни слова о базах данных
В теории, можно же использовать некие текстовые файлы, куда закладывать определенные значения, это избавит от необходимости разбираться с бд
Или это совсем уже костыль?

Напомню, что хочу сделать простенькую для себя игру (совсем для себя и круга друзей)
181 1775902
>>75893

>теория в моей голове без практики


В любом случае учишь фреймворк/либу через практику канешн
Но для начала берутся книги "жс для чайников" и "питон для детей", потом что-то посложнее

Но вот тебе задачи для начала:
1. Реализуй локальный сервер для сохранения файлов, который принимает запросы на localhost:8887:
GET / - возвращает json с метаданными всех сохраненных файлов (структуру json на свой вкус);
GET /<file_id>/ - возвращает конкретный файл в бинарном виде по его /<file_id>/
POST / - принимает бинарный файл (через multipart-data или - не важно) и возвращает json с единственным полем - file_id, по нему можно найти этот файл
DELETE /<file_id>/ - удаляет указанный файл с диска
Для начала над аутентификацией или базой данных можешь и не париться

2. Реализуй в браузере на странице большую кнопку, при нажатии на которую запускается таймер на 5 секунд и визуально показывает юзеру сколько секунд осталось, за это время юзер должен нажать на одну из 3х появившихся внизу кнопок - он должен угадать за какой из них располагается приз (положенный туда случайно), если он нажал неверно либо время кончилось - он проиграл, иначе проигрывается сообщение и выигрыше, при каждом новом запуске "приз" располагается случайно за одной из кнопок. Код пишется в обычном main.js файле и вставляется внутрь твоей одинокой html-страницы
182 1775910
>>75732
Шизик, какой return yield? У тебя там нет генератора для йилда. Тебе выше уже ответили, что тебе нужно убрать принты перед ретёрном. Либо, если тебе эта функция нужна только для этой хуйни, можешь вообще убрать ретёрн и оставить только принты.
183 1775916
>>75626
А хули тот то дба не смог сделать тестовую базу актуальной?
Обидно за коллегу.
184 1775917
>>75902
Продвинутые варианты:
1. Добавить JWT-аутентификацию, анонимные юзеры не могут использовать апи. Запрос GET / возвращает все документы принадлежащие конкретному юзеру или группе юзеров (об этом - позже). В POST запросе добавляются поля: expires - время жизни документа в минутах, по прошествии документ будет стерт и недоступен, group (опционально) - если запостить док надо от имени группы а не конкретного юзера, если юзер не принадлежит к этой группе, то возвращается HTTP403.
Фоном работает БД (пусть будет PostgreSQL) в которой хранятся данные о юзерах и данные о времени жизни документов, также работает демон Celery, который каждые N (на твой выбор) минут очищается "протухшие" файлы

2. Парадокс Монти-Холла (гугли). Вместо кнопок отображаются "двери", которые подсвечиваются при наведении. После выбора оператор (твой жс скрипт) открывает одну из свободных дверей и предлагает сменить дверь либо остаться на прежней, запускается новый таймер и юзер должен сделать выбор. По окончании выбора проигрывается короткий звуковой файл: один для победы, другой для поражения
185 1775924
>>75916
Тестовых баз дохуя разной степени актуальности было, включая свежую на вчера.
Да там чел просто не парился и отлаживал свои ебаные запросы t-sql прямо на бою, потому что считал, что он слишком охуенный, чтобы накосячить.
186 1775946
>>75902
>>75917
Он походу прочитал, усрался и сбежал
еще -1 вкатун
187 1775986
>>73714 (OP)
Прочитал "A Byte of Python", куда дальше? Как практиковаться? Где можно найти задачи, схожие по заданиям для различных разработчиков?
188 1775988
>>75986
Пиздуй плати за курсы ВШЭ/Наебэйл.ру/Хуяндекса раз сам не можешь найти ресурсы. Каждый тред одно и то же.
189 1775992
>>75988

>Хуяндекса


Посмотрел курсы яндекса по питухону - 100 тыщ за курс, ебать.
мимо
190 1776003
>>75946
Читаешь первый том лутца последнего идзания попутно прогоняя все примеры,Читаешь второй том лутца последнего идзания попутно прогоняя все примеры !!!ВАЖНО: в случае электронной версии код необходимо набирать ручками!!! И через пол года можешь возвращаться снова с вопросом что делать дальше,
191 1776008
192 1776021
>>75587
Бамп вопросу. Мне казалось, что это должно быть довольно просто...
193 1776040
>>75946
Нет )
1) Я как бы не вкатывающийся, а уже исповедующий, правда в приличном обществе такие навыки, как у меня, не показывают. Люди уважаемые за такое здороваться перестают
2) Нет, рано убегать, пока не попробовал. Я даже скопировал почты анона, чтобы не проебались.
>>75902
По поводу второго - ну не знаю, как мне это пригодится в совсем костыльной версии
А первое - да, похоже, нужно будет сделать что-то подобное

Такой вопрос: нашел python flask на просторах инета - оно мне не подойдёт? Мб в сторону этого посмотреть? Ну, чтобы сразу в бой броситься? Там вроде бы есть все вещи: авторизация, многопоточность, прикручивания баз данных, можно относительно легко html страницы вставлять, а в них уже джаваскрипт куда-нибудь засунуть
194 1776051
>>76040

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


AYLMAO
195 1776098
>>75988
Ты если сам не знаешь, то молчи и не выебывайся, или ты сам из этих инфоцыган?
196 1776114
>>75902
Давай ещё разок, на всякий случай: 1 - это некий аналог серверной части. Ее делать на питоне, верно?
2 - это аналог клиентской части, ее делать на js, верно?
197 1776197
Анон молю не посылай нахуй лучше помоги. Есть папка, в ней произвольное количество вложенных папок, а в папках лежат разные файлы. Нужно найти все txt и вывести на экран имена тех, в которых встречается фраза "Спасибо тебе мудрый анон"
image.png18 Кб, 567x237
198 1776212
199 1776221
>>76212
вконце правда лучше просто файл распечатать, без абспафа, ну в целом примерно так, сам под себя подшлифуешь, а основной вектор развития я тебе задал
200 1776236
>>76212
Но ты пытаешься сделать open(file) по наименованию, а путь к нему проебал, не?
201 1776239
>>76236
я сделал на коленке за минуту, а раз ты сам понял в чем дело, то тебе не составит труда сделать как надо
203 1776247
>>76236
current_file=open(os.path.abspath(os.path.join(catalog[0],file)))
204 1776298
Открываю с помощью модуля реквестс картинку
картинка=реквестс.гет(УРЛкартинки)
вопрос, как узнать ее вес?
206 1776312
>>76308
ну и костылище
207 1776333
>>76308
Да не это вообще ерунда какая то, я так то и сам могу чанками в одну строчку уложиться, но просто думал может есть какой-то метод запрятанный аля картинка.вес()
208 1776340
>>76221
Огромное спасибо тебе!
Так же благодарю всех кто участвовал в обсуждении.
209 1776377
>>76312
В чем костылище то?
Нормальное решение.
210 1776385
>>76333
Да, это называется header Content-Size
211 1776387
>>76377
если ты про самый популярный ответ, то это вообще 2ая версия петона
212 1776390
>>76385
Дай бог тебе прибавку к зарплате(спасибо)
213 1776406
>>76390
Наивный... Это счтается азами для вебмакакинга
https://developer.mozilla.org/ru/docs/Словарь/W3C
214 1776417
>>76390
Еще HEAD вместо GET
215 1776418
>>76406
Да я честно признаться в вебмакакинг не собираюсь, мне просто для своей фигни надо, но не смотря на это я слабо могу асоциировать заголовки респонса, с тем что ты скинул
216 1776419
>>76417
сяп
217 1776431
>>76418
а все, чем больше смотрю тем больше наблюдаю связь, сори
218 1776440
>>76417
на HEAD имеет право не отвечать, так как CORS может блокировать запрос извне. Тем более, что фронт может сидеть на Node и заниматься отдачей контента html и динамики, а бэк будет уже логикой заниматься и в том числе файлами. Тупо конечно, но в жизни все бывает.
219 1776443
>>76417
Алсо, бывает такая вот ебала

location /service {
if ($request_method = POST ) {
fastcgi_pass 127.0.0.1:1234;
}

if ($request_method = GET ) {
alias /path/to/files;
}
}
220 1776470
>>75986
Учись вертеть рд деревьяна хую.
221 1776494
>>76040
flask-а часто хватает, но если хочешь лучше производительности и асинхронности то FastAPI бери, это доведенный до ума Фласк (и документация там лучше)
222 1776498
>>76114
Это изолированные отдельные серверная часть (1) и клиентская часть (2). В риал проекте канешн фронт (клиент) общается с апи хоста (с сервером)
Но в 1 как он обозначен фронт не нужен, запросы тестятся через curl либо через Insomnia если ты больно сноб. В 2 бэк не нужен, все происходит на одной html-странице в браузере у юзера
223 1776660
>>76494
Там не хватает все же или aiojobs или celery. Fire and forget на запись данных иногда хуево отрабатывает.
Может только я с таким столкнулся, но просто лучше подстраховаться и хотя бы логировать в дебаг такие вещи. Потому что футур без возврата или хотя бы флага task_done это хуевая тема. Ладно если не очень важные задачи, но если лезть в ML с этим... Ну как бы можно проебаться на самом простом.
224 1776672
>>76660

>aiojobs


Если задумался об этом, то фласк или любой другой синхронный фреймворк точно не для твоих задач

>или celery


Внезапно: берешь и ставишь. Порой требования на асинхронность можно преодолеть отложенными тасками. Но важные фетчи/запись данных в БД или обращения к сторонним апи тут не прокатят
225 1776684
Господа-петонисты, есть у вас фреймворк, который считается стандартом для пердоленья гуйни?
Гуглятся всякие tkinter, wxpython, pyqt.
Поясните, пожалуйста, вкратце, на что лучше всего обратить внимание и почему.
IMG20200814020053796.jpg138 Кб, 1080x926
226 1776703
сап, двач. хочу начать изучать язык программирования Python, по факту я полный нолик в этой теме, прожженые кодеры, подобный план подходит для начала, как думаете?
227 1776708
>>76703
зачем ты решил начать изучать язык программирования Python?
228 1776709
>>76708
хочу попробовать в программирование, довольно много советов именно в сторону пайтона
229 1776714
>>76709
Ну тогда бегом смотреть хауди хо , хоп-хоп-хоп-хоп-хоп-хоп, посмотришь его пайтон за 1 час и можешь уже отсылать свое резюме, правда если ты с москвы молю не ставь зарплату меньше 150к , не порть рынок
230 1776715
>>76714
работа мне не совсем нужна, я хочу изучать для себя
инфантильно и по-детски начинать изучать язык из-за этого, но я хочу в сторону написания эксплоитов, поиска уязвимостей и всё такое
кринжово наверное звучит из уст нолика
231 1776716
>>76715

>но я хочу в сторону написания эксплоитов, поиска уязвимостей


Не тот язык.
232 1776717
>>76716
дай угадаю, тот что нужен - какой-нибудь с++
который для новичка совсем не подходит?
233 1776718
>>76717
кали линух
234 1776719
>>76718
чтобы пользоваться этим дистрибутивом, нужно же всё равно знать хоть что-то...
235 1776720
>>76719
TCP/IP
image.png442 Кб, 700x400
236 1776722

>Хауди

237 1776723
>>76716
Че ты пиздишь мне, черт галимый? Для белого хакинга как раз пистон самое то. Открою блять секрет: в любом случае ты будешь работать с АПИ твоей ОС, похер с помощью какого языка ты будешь делать эти запросы. Для сетевых запросов тем более
С++ будет нужон когда захочет залезть внутрь исходного кода
238 1776726
>>76723
то есть я верное направление выбрал?
239 1776728
https://habr.com/ru/post/514950/

Завидую выдержке и непробиваемости этого чувака. Он уже 4й пост на тему инжекции зависимостей выкладывает. Каждый раз его спрашивают, нахера он его замутил, и каждый раз он находит оправдания, не говоря уже о тонне кода
240 1776732
>>76726
Верное. Но без линуха и TCP/IP о "кулхацкинге" забудь
241 1776734
>>76732
спасибо, что помог
242 1776735
>>76728
Это из той же серии, где чел всерьез написал статью как он юзал ардуину и даже что-то кодил, чтобы запитать с ее линейного стабилизатора малину.
GNFINGR002073.jpg2,2 Мб, 3000x1987
243 1776839
>>75587
Бамп с картинкой для привлечения внимания
244 1776852
>>75587
Ну патамушта ты сравниваешь объекты по типу datetime небось, а не числа
Да и числа могут подкинуть нежданчик, напииши 0.1 + 0.2 == 0.3
245 1776858
Аноны, помогите дауну, прошу
Короче нужно запустить скрипт обычным открытием файла в папке, но он блядь не хочет. Появляется какое-то окно, делает вид что пытается, но сука не хочет.
При этом код ок, через компилятор запускается как часы.
Умоляю, подскажите, как запустить скрипт ебучим двойным щелчком на файл?
GNFJULI003054.jpg2,1 Мб, 1987x3000
246 1776867
>>76852
Ну да, datetime.
При записи значения в поля "создано" и "обновлено" тупо записывается текущее датавремя, а при обновлении - изменяется только одно из полей. Для дзиндзи что, это будут разные значения? И что мне, получается, нужно сначала как-то их "привести" к более другому типу (str? int?) и передать в дзиндзю отдельно? Звучит неочевидно...
247 1776928
>>76709
питон - проблемнориентированный язык
это когда больше просто решаешь проблему и не отвлекаешься на "а как в этом языке закодить такое"

но когда хочется делать что-то фундаментальное, то вылезет боком и скорость и GIL и модульность питона
248 1776975
Помогите плиз в формой сброса, жалуется на суперпользователя, пробовал убирать кавычки тоже самое.
249 1776979
Как сделать так чтобы в той же Postgres вместо ID автоматически генерировался уникальный UUID - при каждом добавлении новой строки в таблицу?
Снимок.PNG26 Кб, 710x464
250 1776988
Функция next_block
Не могу понять, смысл выражения
correct = correct[0]
Этом я присваиваю переменной correct, которая ранее получила значение - строку, первый символ по указному индексу.
ЗАЧЕМ?!!!11!1
Очень злит. Не могу продолжать из-за этого.
Подскажите пожалуйста.
251 1776996
>>76988
Внутри correct может лежать еще один список, с ним также можно будет сделать correct = correct[0] и т.д. разворачиваем так сказать
Но в твоем случае мы просто получаем строку в файле из которой вычленяем первый символ
252 1777000
>>76975
У тебя в user находится класс User, а тебе нужен экземпляр класса, ты сначала получи пользователя по мылу, а уж потом проверяй суперпользователь он или нет.
>>76988
Видимо на этой строке находится буква правильного ответа, вот эту букву и помещают в коррект, а потом выведет что-то уровня f"правильный ответ: вариант {correct}"
253 1777042
DATABASE_URL = "sqlite:///../test.db"

Вот это путь для БД чтобы SQLAlchemy с ней законнектилось. С хрена ли написано sqlite:/// че это за тройной слэш?
254 1777048
>>77042
унифицированная строка подключения.
чтобы был выбран адаптер sqlite
255 1777052
>>77048
С postgres буде также? Там же не файлу коннектимся, а по хосту (localhost) и порту (5432). В Postgres к тому же надо коннектиться по юзернейму и пароль, да и коннектиться к определенной Базе по ее имени
Я просто джангодаун бывший. Больно привык что можно указать 2 строчки в settings.py и прога сама все за тебя сделает, сейчас FastAPI и асинхронные БД пытаюсь подкачать.
256 1777061
>>77052
Cтроки подключения разные будут, но адаптер сам знает как распарсить строку подключения
257 1777066
Черт, как в пуйчарме найти первое определение класса/объекта?

Вот вижу я строку по типу:
actor.parse_result(result)
Как мне, щелкнув по actor, перейти к месту где этот объект был впервые инстанцирован? Если это не просто аргумент функции то он может быть определен вообще в другом модуле и порой лазить по исходному кода так утомительно
258 1777074
>>77066
пкм по нужному,го то ,емплиментейшн
259 1777165
>>77000
>>76975

if user.objects.filter(email=user.email, is_superuser=True):

Блин, теперь отсылает, если и суперпользователь, хотя в дебаге указывается, что я могу использовать поле is_superuser.
260 1777183
>>77165
if user.objects.filter(email=email, is_superuser=True):
261 1777204
>>77183
Спасибо.
262 1777390
Аноны, недавно начал вкат, поясните плз. Первый пик задача. Пытался решить так:
s = [int(i) for i in input().split()]
s.sort()
for x in s:
if s.count(x) >1:
print(x)
while x in s:
s.remove(x)
Происходит такая ебанина (2 пик). Почему у меня цикл For стопорится на тройке, и не хочет ее прокручивать. Эта хуйня появилась, когда добавил цикл while, без цикла while прога не проходила проверку на вводы типа 1 1 1 1 1 2 2 2, когда вводишь много одинаковых.
263 1777393
>>77390
блядь, двач табуляцию сожрал. Ну, надеюсь вы поймете, тут всего-то 7 строк.
264 1777397
>>77393
модифицировать список во время обхода = стрелять себе в ногу
265 1777416
>>77390
Точно объяснить не смогу, но это явно из-за того, что ты изменяешь список в цикле. Скорее всего при каждом удалении смещается индекс, цикл запрашивает элемент из списка по индексу 4, а список говорит: "иди нахуй, у меня всего два элемента". Цикл с чувством выполненного долга и завершается, будучи уверенным что обошёл все элементы списка.
266 1777423
>>77416
>>77397

спасибо, теперь придумать бы еще, что с этим делать...
267 1777435
>>77423

много чего же
- можно хранить то, что уже вывел и не повторять
- можно пройтись по списку и посчитать создав словарь "слово":количество (еще можно глянуть collections.Counter)
- раз уж сортировано, то можно хранить текущий элемент и сабиндекс этого элемента (без лишних списков будет)
268 1777439
>>77390
нахуя ты удаляешь из массива? тебя жи не просили делать всю эту хуйню инплейс.
269 1777448
>>77439
ну идея курса, который я прохожу - делать задачи последовательно после пройденного материаля, не залезая в знания, которые даются впереди. Короче словари и т.п. мне недоступно, только слайсинг, циклы while for, некоторые действия со списками и строками, операторы break continue и все.

>>77439
Без удаления у меня получалась хуйня, т.е. вот допустим 1 1 1 1 1 2 2 2, мы посчитали кол-во s[0], их много, хорошо, единичку записываем, потом считаем кол-во s[1], это опять единички и их много, и получается, что опять пишем, хотя по условию надо именно 1 раз выписать повторяющиеся числа. Поэтому и решил ремувать повторяющиеся числа после того, как мы посчитали что этого числа много и выписали его.
270 1777461
>>77448
inpt=[4, 8, 0, 3, 4, 2, 0, 3]
outpt=[]
for i in inpt:
__if i not in outpt and inpt.count(i)>1:
____outpt.append(i)
outpt.sort()
print(outpt)
271 1777462
Как заставить программу сделать скриншот определенной области?
272 1777463
>>77448
d = dict()
res = set()
try:
for x in [1, 2, 3, 4, 5, 4, 4, 3, 2]:
if d.get(x, True):
d[x] = False
else:
res.add(x)
except MemoryError:
print('Please, download more RAM!')
1597416619567.png18 Кб, 410x299
274 1777477
>>77448

>Короче словари и т.п. мне недоступно, только слайсинг, циклы while for, некоторые действия со списками и строками, операторы break continue и все.


Так тебе тоже нельзя?
275 1777486
>>77473
Спасибо. Это библиотека называется?
276 1777487
>>75734
Чел ты серьезно ? Разница в то что если ты возвращаешь, то ты можешь это значение прицепить к переменной или передать сразу куда-нибудь, а напечатать это просто кинуть в stdout, при этом возвращается None, то есть

def you_stupid(nigger):
....print(nigger)
....return(nigger)

result = you_stupid("nigger")
if result:
....print(result)

Выведет тебе nigger два раза, потому что 1 раз из ф-ии напечатали и 2 раз ты вернул значение, и передал его в ф-ю
277 1777504
>>77486
Да pyautogui является сторонней библиотекой(ее нет в стандартных поэтому качать через пип либо ручками в окружение пропихивать)
278 1777506
>>77390
print(set(i for i in s if s.count(i) > 1 and i != " "))
279 1777510
>>77506
print(list(set(i for i in s if s.count(i) > 1 and i != " ")).sort)
280 1777523
>>76858
Ну ты бы хотя бы ОСь указал...
281 1777583
>>77510
Нельзя сорт им ещё, я думаю и set тоже нельзя, я просто показал генератор как запилить
282 1777588
283 1777589
>>77583
блять, одну букву отправил каким то образом, сорян
так у него ж в задании написано что может понадобится сорт, и он сам вроде как его юзает
284 1777599
>>77589
Да, ты прав :) ну тогда твое решение более закончено выглядит
285 1777601
Привет, ананасы, недавно прочитал укус питона и прошел курс на степике, как учиться дальше?
286 1777604
>>77601
писать софт много
читать чужой код много
знания закрепляются в практике
287 1777606
>>77589
Чеееел, а что твой .sort() возвращает то?

print(sorted(list(set(i for i in s if s.count(i) > 1 and i != " "))))
288 1777607
>>77487
От души. Спасибо.
289 1777609
>>77604
Где можно найти задачи(практику написания софта)?
290 1777610
>>77601
область на объект в памяти, просто скобочек полсе сорта нету как вызываемого обьекта
291 1777612
>>76703
Ты не осилишь первый шаг даже, если сюда пришел с таким вопросом.
292 1777614
>>77609

Придумай
293 1777616
>>77601
можешь на ютубе поучится,Хирьянов например, или egoroff_channel , а если не можешь придумать че сделать, попробуй свои обычные задачи автоматизовать, тогда можешь прочитать книгу Автоматизация рутинных задач
294 1777630
>>77616
Большое спасибо
295 1777665
Большую часть проекта переводят на PyPy (так захотел заказчик). В чем принципиальные отличие с CPython? С чем стоит быт ьвнимательным?
296 1777726
https://habr.com/ru/post/515190/
Эксперты-вкатуны с Двача всерьез за Хабр взялись
image.png72 Кб, 225x225
297 1777727
>>77665

>>PyPy

298 1777739
>>77665
Жопу готовь
299 1777740
301 1777758
>>77743

>what is pypy


это заглушка для тех, кто ставит пакеты в обход pacman.
302 1777759
>>77740
Анон, ты молодой, шутливый, не стоит вскрывать эту тему
471FB611-F7B3-4D60-8380-E6FA9ECFDD1C.jpeg7,7 Мб, 4032x3024
303 1777912
Такое гуглить буду 5 лет и то непонятно получится ли, за сим взываю к людям с таким вопросяндрием: какова суть этой подсказки ?
image.png7 Кб, 1104x122
304 1777917
>>77912
Суть в том, что ты не знаешь инглиш
305 1777928
>>77917
Ну да, проблемки ? Писька ебаная
306 1777933
>>77917
Кстати писька ты видишь что там никакой ссылки ни на что нету ни на PIP ни на Хуип, читать нечего лишь пример с двоеточием внизу который хуй пойми что обозначает
307 1777935
>>77928
>>77933
или почитай про анотацию типов, а лучше нахуй

мимо
308 1777936
>>77912

>Exemple


>coords: Point = gr.Point(200, 200)


Это точно не Action Script какой-нибудь ебаный?
309 1777939
>>77935
Спасибо за инфу писька ебаная. Нет серьезно писька, спасибо.
image.png5 Кб, 348x320
310 1777987
311 1777996
Зачем что в питоне что в жс при асинхронных запросах данные порой await-ят дважды? Что-то типа:

response = await request(url)
data = await response.read()

Зачем асинхронный response.read? Запрос из сети аедь уже получен
312 1777998
>>77996
Нет, не получен. Запрос приходит кусками. Сначала идет заголовок, отеуда можно получить статус и просие хедеры. Потом уже контент, и контент тоже может быть разбит на чанки и приходить порциями.
313 1778029
Можно ли пойти работать на фриланс питон разработчиком без опыта коммерческой разработки? Или роста профессионального нет, так как никто твой код не оценивает?
314 1778071
>>78029
Можно и пойти. А можно и не пойти.
315 1778161
>>77390
>>77448

Снова я на связи. Подскажите плз. В курсе показывали только такую генерацию двумерного списка:
a =[[0]* n for i in range (n)]
a [[0 for j in range(n)] for i in range(n)]

А вот такую они дали задачу: (первый пик).
Объясните пожалуйста, как мне сгенерировать эту изначальную матрицу например как в 1 случае
9 5 3
0 7 -1
-5 2 9
Все, на что меня хватило это (2 пик) создание матрицы забитой нулями, с кол-вом строк/столбцов равным нужному количеству и закинуть все введеные строки в один список, и теперь я планирую присваивать в матрицу из ноликов по очереди значения из этого одного большого списка со значениями, но я же не сумасшедший, я понимаю, что это ебанина, а не решение, даже если у меня в итоге получится. Короче подскажите, как лучше сгенерировать эту изначальную матрицу
chromexXtce3qURh.png19 Кб, 1220x518
316 1778173
>>78161
Вот я доделал этого ебучего франкенштейна для ввода короче, как сделать лучше?
317 1778178
>>77998
То есть response в примере выше это просто header?
318 1778188
>>78173
etot glorious i veliki inglish oh my god, ti chto li ego koresh: >>77917
напишешь так хоть на одном собесе, херка на пару с сеньором тебя зачморят и опустят
319 1778197
>>78161
Что там генерировать, бери да пихай значения.
https://ideone.com/LKI0ki#comment
320 1778201
>>78188
да пощади, 4й день тыкаю, до этого вообще никогда прогать не пытался.
321 1778203
>>78197
чиво? это траленк такой? прога должна разные матрицы принимать и со всеми работать
322 1778204
>>78201
Я ж не к коду предъяву кидаю. Это бич многих вкатунов. Незнание инглиша в 2020 на позиции прогера означает бесконечное прозябание на задворке мира и технологий где-то между парашей и 1с разработкой
323 1778206
>>78203
Со всеми и будет, лол.
324 1778209
>>78204
А, ну с английским я бы не сказал, что все плохо, например параллельно смотрю всякие видосы на html/css на английском и никаких проблем нет, ты из-за переменных доебался? Ну я просто для себя их так переназвал с безликих букв, когда путаться начал, можно было конечно row col их назвать или вообще просто в комментах пометки сделать, но это энивей фиксится за 10 секунд.
325 1778211
>>78206
эм, нет, не будет, ты там просто руками вбил эту матрицу прямо в код
9 5 3
0 7 -1
-5 2 9
где у тебя там хоть 1 инпут?
326 1778212
>>78211
Ну так переделай на инпут, делов на пять сек.
327 1778214
>>78212
так весь мой вопрос блядь был в этом, как сделать инпут, который будет жрать строчки и преобразовывать их в матрицу более адекватно, чем сделал я.
328 1778215
>>78173
Вот так?
мимо только начал изучать питухон
329 1778219
>>78214
И в чем проблема? https://ideone.com/LKI0ki
330 1778222
>>78215
Блядь, я кажется совсем запутался в инпутах. Почему если ты делаешь условно a = input().split() он сжирает это как список?
331 1778229
>>78222
Потому что input() возвращает строку, метод split() возвращает лист

> Return Value


> This method returns a list of lines.


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

А так пока мой погромисткий опыт = прочитал 150 страниц Эрика Мэтиса, так что вряд ли тебе смогу посоветовать как что-то правильно делать, лул.
332 1778236
>>78219
>>78229
Короче одно из двух, либо я совсем тупой (обидно будет, угу), либо курс говно, который херово объясняет (вариант, что я был невнимателен отметаю, т.к. проблемы похожие уже были, и я с тех пор не просто смотрю части с теорией, а конспектирую, выписывая все команды которые дают и некоторые примеры и объяснения). Базовые понятия пиздец бегло давались, кто что посоветует в плане других сурсов изучения? Чтобы нормально поясняли про методы, типы переменных и вот это все.
333 1778245
>>78236
Прочитай полностью нормальную базовую книжку, тогда уже лезь всякие матрицы дрочить.
Вот эта неплохая из новых. https://www.manning.com/books/the-quick-python-book-third-edition
И вот эта серия заебись, пожирнее. https://leanpub.com/b/python-craftsman
334 1778271
>>78178
Response это респонсе. Изучи, что такое респонсе и как он выглядит без авейта.
335 1778320
>>78271
Я с телефона капчую, еще несколько дней до пеки будет не добраться
вообще в aiohttp респонс даже и не так образуется:
async with session.request(method="GET", url=url) as response:
336 1778359
Совсем обосанный ньюфаг в треде, я мимо проходил, вот в посте
>>77390
у анона в первой строке такой код
s = [int(i) for i in input().split()]
он мне вообще не особо понятен, поясните плз.

1. Мне казалось, что квадратные скобки в Питоне используются исключительно для lists, ну списков айтемов через запятую, а-ля fruits = ["apple", "banana", "cherry"]

А тут для чего они? Для того, чтобы возвращаемые командой int(i) for i in input().split() значения сразу попадали в один список? Или как?

Далее, везде в гайдах с циклом for я видел команды а-ля for x in range(6) например. А тут у антона еще какого-то хера int(i) перед for, я понимаю, что это int(i) - это типа перевод в тип данных integer переменной i, я просто не понимаю каким хером и зачем это присобачивается к циклу?
337 1778379
Всё тот же ньюфаг, объясните плз такой момент с методом __init__
Так мне понятно, что особый метод, который используется как конструктор классов, но далее вопрос.

Вот на первом пике типичный пример с обучающих сайтов, мне на нем всё ясно, вот в методе __init__ задаются атрибуты для будущих инстансов класса или, как их еще, насколько знаю, в других языках называют полями(fields), но в питоне принято называть атрибуты. Это что-то такое описательное, типа характеристики объекта, если это машина, то ее цвет или скорость например.
Есть атрибут self, который может называться как угодно на самом деле, но в питоне принято опять же юзать self, по сути он связывает инстансы класса с самим классом, и вот в примере еще есть name, т.е. каждый новый инстанс класса при его создании должен будет иметь железно 1 атрибут, это как раз этот name, иначе питон пошлет нахуй.
А, ну еще на примере у нас есть метод def say_hi, это мне тоже понятно, что классы кроме своих особых атрибутов могут иметь свои особые методы, которые, как и атрибуты, ты можешь создавать под командой class: и методы это типа скорее действия, что если брать пример с той же машиной, что это то что начала движение, например.

Но вот на втором пике - с сайта с официальной документации питона кстати https://docs.python.org/3/tutorial/classes.html - мне че-то нихуя понятно.

Какого хера под __init__ создается метод - self.__update(iterable)? Разве методы не задаются отдельными методами как на первом скрине с def say_hi, нахуя под __init__ пихать? В моей голове под __init__ вот вообще только привязка атрибутов идет, а-ля self.something = something

У меня еще разрыв шаблона от того что там зачем-то один атрибут класса приравнивается к пустому списку, зачем вообще. Ну типа наверное чтобы потом метод update наполнял этот список каждым айтемом из поля iterable при помощи метода append, ок, а это в свою очередь нахуй нужно?

А почему нет
self.items_list = items_list, разве этого не должно быть?
338 1778386
>>78379

>Разве методы не задаются отдельными методами как на первом скрине с def say_hi, нахуя под __init__ пихать?



Криво написал совсем, ну имел в виду что у нас первом скрине

def __init__
def НОВЫЙМЕТОДКЛАССА

а на втором скрине типа

def __init__ и под ним сразу без всякого нового def хуярится новый метод.

Или это вообще одно и тоже и неважно?
339 1778395
Какой opensource проект посмотреть ~недоджуну, чтобы научиться кодить на прод?
340 1778399
>>78359
можешь пойти про генераторы почитать
341 1778408
>>78386
Это не определение, а вызов.
342 1778409
>>78379
блин стока воды, а по факту вопрос "почему в функциях можно использовать функции" ...
343 1778414
Смотрю уроки по jinja, это правда, что каждый html файл должен быть прописан через шаблонизатор? Чья это работа бекэндера или фронтендера?
344 1778415
>>78408
Подробнее объясни плз.
Что

>это


?
345 1778417
>>78415
если ты не знаешь что такое вызываемый объект, иди укус питона почитай в таком случае
346 1778421
>>78173
import pyinputplus
347 1778425
>>78409
Мне понятно как вызвать функцию или инстанс класса, это все же объекты тоже, через точку хуяришь там, ну и в круглых скобках аргументы/аттрибуты еще хуяришь.
348 1778426
349 1778428
>>78414
ну да чичас фронтендер прйдет будет разбираться в твоем говне , и подстраивать шаблоны исходя из того что ты понаписал, По сути тебе динамически изменяемые данные в хтмле надо {{шаблоном}} обработать, но начальный статический хтмл должен откуда то взяться, а вот откуда он возьмется, тут уж хуй его знает, может с бутстрапа спизжен
350 1778429
>>78415
self.__update(iterable) в конструкторе это вызов метода __update в том же классе.
Вообще, ты как-то очень формально пытаешься понять классы, мол тут так должно быть, а тут эдак. На самом деле, класс это просто функция, имеющая внутри ещё определения функий = методов и отдельный скоуп, гуляющий через тот самый self.
Можно сравнить с замыканиями https://ideone.com/VQGPjS
351 1778431
>>78428
Понял, спасибо, не так всё плохо.
352 1778437
>>78429

>self.__update(iterable) в конструкторе это вызов метода __update в том же классе.



Погоди, но ведь методы создаются через ключевое слово def внутри классов, а в примере с моего скрина def update идет ПОСЛЕ self.__update(iterable), и еще ниже __update присваивается update.
Питон же выполняет код сверху вниз, как он может вызвать то чего для него еще нет? Как он может вызвать то, что определено/объявлено ниже, а не выше по коду?
353 1778438
>>78437
При определении выполняется верхний уровень, где дефы, глубже уже только при явном вызове.
355 1778451
>>78440
>>78438
>>78429

Спасибо, анон(ы)!
Стало чуточку попонятнее.

Я ебать туплю, по сути первый язык программирования, бэкграунд самый минимальный, поэтому так
356 1778499
>>73714 (OP)
Нахрена семафоры и локи используют в асинхроном программировании? Вон в asyncio есть свой asyncio.Lock(). Нахрена? Эти концепции ведь придуманы чтобы облегчить мультипоточное программирование, но в асинхронках ведь поток один
357 1778502
Подумываю через недельку залить резюме на хед хантер и хабр джобс, попытаться найти работу. Какие подводные камни и что стоит почитать чтобы не обосраться. Работаю в основном в Django. Знаю ещё Vue, JS, и немного СКУЭЛЯ.
358 1778503
>>78499
Cpu bound поток один (и то не у всех реализаций)
А i/o bound потоков много
359 1778506
Аноны, ай нид ёр хэлп.
Есть один чат в телеге, хотел бы получить номера телефонов юзеров из него, какие есть варианты подхода?
Понятно что, тот кто скрыл телефон от всех того я телефон не узнаю, но есть остальные которые телефон не прячут.
Соц-инеженерия не считается.
На данный момент нагуглил только старые статьи, которые уже не актуальны.
Возможно, я задаю гуглу не верный вопрос.
360 1778512
Анон, посоветуй либу, которая может звук с микрофона записать в файл, а потом воспроизвести этот файл.
Screenshot at 2020-08-16 02-22-31.png38 Кб, 730x284
361 1778522
как же заебало жить без нормальных лямбд.
362 1778525
>>78522
Попробуй ноджс. Там вроде нет пробелм с лямбдами.
1597534709924.png164 Кб, 400x400
363 1778530
>>78525

>Попробуй ноджс

364 1778538
>>78530
Ты чё, пёс?
365 1778561
>>78538
Я - Питон.
366 1778564
>>78561
Ты червь.
367 1778614
>>78399
При чем тут генератор если это list comprehension? Сахар + читаемость кода.
Советчики херовы.
368 1778615
>>78512
Забанили в Гугл или ангельский так и не осилил?
http://people.csail.mit.edu/hubert/pyaudio/
chrome0wguoMmfn7.png68 Кб, 1775x450
369 1778635
Аноны, решаю задачу, объясните, почему в конце функции не работает присвоение l = b, вроде в теории говорилось, что когда содомируешь список в функции - это сохраняется, в отличии от обычной переменной с числом.
chromejT6Wm8Tu1o.png13 Кб, 751x422
370 1778641
>>78635
Решил уже другим способом (пикрил). Но все равно, ответьте плз, хочу узнать. И еше один момент:

>>77390
^вот тут я спрашивал про относительно похожую хуйню, т.е. я модифицировал список прямо во время прохода по нему, и мне тут сказали, что так делать не стоит (>>77397 >>77416 )
Но вроде тут сама задача форсит такой хуйней заниматься? Или Можно как-то элегантнее?
371 1778642
>>78614
Эй детка, меньше стресса, списковое включение является генераторным выражением
372 1778645
>>78635
>>78641
В первом случае ты просто заменяешь значение l в скоупе функции на другой объект.

Задачка скорее показательная, чтобы ты обосрался и понял, чем это чревато.
Нормальное решение через enumerate + del
373 1778646
>>78642
Нет.
374 1778656
>>78645
enumerate нам вроде не показывали, а надо юзать то, что есть.
375 1778657
>>78656

>enumerate нам вроде не показывали


Блять, рассуждаешь как 6классник
376 1778658
>>78657
Ну тут последовательно дается материал, и есть задачи, которые использовав какую-нибудь залупу типа map, или конструкцию типа print(*[....]) можно было бы решить в одну строку, и идея задачи как раз в том, чтобы юзать то, что есть.
377 1778661
>>78656
Ну сделай через range задом наперед, какая разница.
изображение.png2 Кб, 272x49
378 1778666
>>78641
Чел, изменять ф-я может только то что ты передал в неё. Передашь лист - она его изменит и этот лист будет измененным не только внутри ф-ии.

Касательно решения попробуй освоить вот такие конструкции - мне очень заходят.
379 1778669
>>78645
ахаха и чего там нормального ? Нахуй тебе enumerate, ты прочитать через 1 элемент не можешь? Нахуй тебе удалять, если ты не читаешь то что не нужно? Молодца, пацана щас научишь как надо))
380 1778671
>>78669
Перечитай задачу, дебилушка, речь о четных-нечетных значениях.
381 1778676
>>78671
Плюс ты генерируешь новый список и заменяешь его (опять же, только в скоупе функции, придется ещё хуярить global для оригинала), тогда как требовалось мутировать оригинальный.
382 1778679
>>78666
Ты хоть понимаешь что вообще делает твоя конструкция? Ты создал локальную переменную lst внутри твоей функции. lst извне не изменился, внезапно modify_list ничего не модифицирует
image.png12 Кб, 405x202
383 1778683
>>78646
Чел, то что в квадратных скобочках оно сразу преобразовывается в список является просто сахаром для list((i for i in colections)), а так это генераторное выражение, тебе кстати тоже советую почитать про генераторы, но думаю ты забьешь на это дело и так и не поймешь ,что я написал думая зачем я кортеж в список преобразовываю, поэтому приложу картинку
384 1778688
>>78683
Предлагаю тебе почитать, как оно парсится и выполняется в вм, а не выдумывать за нее. Очень интересный раздел документации.
https://docs.python.org/3/reference/expressions.html
385 1778718
>>78666
Так у тебя в итоге происходит деление чисел из списка от числа с индексом 1 и с шагом 2, а мне надо чтобы работало для любых списков
386 1778744
Как парсить по страницам типа

>"http://example.com/something/page/3/ "



Знаю как парсить этот тип, просто вписывая параметры page, а вот верхний код не хочет искать страницы

>"http://example.com/something/?page=%s"

387 1778771
>>78641
Задача ничего не форсит, ты сам какую-то хуйню придумал.
Во первых, есть itertools.groupby. Но да хуй с ним, давай попробуем решить используя только те примитивы что ты знаешь. У тебя список отсортирован - значит в нём лежат объекты, которые можно сравнивать и они лежат по возрастанию. Тогда можно хранить последний распечатанный и сравнивать следующий элемент с ним.

Что-то вроде такого (не проверял, сам отладь если тут где-то ошибка):
lst.sort()
last = None
for i in range(0, len(lst) - 1):

> if lst == lst[i+1] and (last is None or last < lst):


>> last = lst


>> print(last, end=' ')


print()
388 1778778
>>78771
Ьля, ссач съел индексацию

lst.sort()
last = None
for i in range(0, len(lst) - 1):

> if lst[ i ] == lst[i+1] and (last is None or last < lst[ i ]):


>> last = lst[ i ]


>> print(last, end=' ')


print()
389 1778782
Какой есть нормальный способ сделать сортировку с разными уровнями?
Например в sql можно написать order by 1,2,3 условно, и сортировка по следующему полю будет внутри сортировки предыдущего порядка.
Как в питоне допустим лист из словарей так отсортировать? Только через вложенные циклы, или может либа какая есть, типа этих пандасов всяких?
Или какой-то компаратор свой можно написать?
390 1778783
>>78744
может подойдет конструкция вида,

i=1
while True:
__res = get('http://example.com/something/page/' +str(i)+'/')
__if res.status_code != 404:
____<code>
____i += 1
__else: break
391 1778789
>>78679
>>78676
Так, блэд, про return я момент упустил. Тогда global нужно корячить.

>>78718
Где не работает?
392 1778793
>>78782
Можно, параметр key, там можешь вхуячить туплю с несколькими критериями.
393 1778794
>>78789
Пиздец до тебя доходит полгода, зависит от значений, не индексов.
394 1778796
>>78794
Бляяяя
lst = [i // 2 for i in l if i % 2 == 0]

Я щас чёто осознал что до конца не понимаю как без global и return изменять :)
395 1778797
Нихуя не понял, почему эта задача лежит в секции курса про словари и множества. Предполагается, что где-то уже есть словарь, где все вычисления сделаны? тогда хули мне не дали его название. решение как во 2м пике офк не проходит по таймлимиту
396 1778799
>>78796
Ну примерно так я предлагал, через range или enumerate назад.
https://ideone.com/5VSMft
397 1778800
>>78797
Нужно сохранять результаты в словарь, чтобы не вычислять одно и то же по несколько раз, очевидно же.
Называется мемоизация.
398 1778801
>>78797
Тебе русским языком написали, что твоя задача - только запоминать результат вычисления готовой функции, чтобы не вызывать ее лишний раз.
Хранить можешь в тех структурах данных, на которые задача.
399 1778802
Вопрос для тупых: мне надо получить пользовательский ввод, пользователь вводит некоторое количество цифр, а потом нажимает Enter и все введенные им цифры должны быть выведены в списке. Проблема в том, что цифры накапливаются в списке в виде строк. Вот код:

list = []
while True:
i = input("Enter a number: ")
if i:
number = int(i)
list += i
else:
break
print(list)

Пример вывода:
Enter a number: 5
Enter a number: 6
Enter a number: 8
Enter a number:
['5', '6', '8']
400 1778803
>>78802
Называется смотрю к книгу - вижу фигу.
401 1778805
>>78799
Я понял - с элементами работаем просто, ок, спасибо
402 1778811
>>78802
ну так просто превращай их в int
403 1778812
>>78802
Вообще смотря как пользователь вводит, если все цифры одной строкой:
s = [int(i) for i in input().split()]
а если разными, то добавляй к списку
404 1778814
>>78800
>>78801

Спасибо, сори, просто для меня неочевидно было, что обязательно в инпутах будут одинаковые числа (тот пример инпута, который дан с задачкой - всего один из 13, остальные от учащихся скрыты, мб чтобы не читерили)
405 1778818
>>78803
вот нормальный код
406 1778820
>>78818
Бля, ну перечитай этих пару строчек и ПОДУМОЙ.
407 1778822
>>78818
нормальный(попытка сложить список с строкой) ну впринципе да, норма для посетителей данного треда
408 1778826
>>78812
>>78811
Задачу надо сделать через while, дело в том, что я в коде уже преобразую ввод в int, но именно когда числа попадают в список, они снова становятся строками
409 1778828
>>78822
Ну так список со строкой вообще-то складываются, а у меня числа надо в список сохранять
410 1778830
>>78828
попробуй
if i:
__list.append(int(i))
411 1778831
Надо два треда - один для такого и для жанго, и второй нормальный.
412 1778834
>>78830
Спасибо, заработало как надо
413 1778894
>>77609
Хороший вариант написать визуализацию какого-либо алгоритма. Или напиши несложный сайт, который бы решал какую-нибудь проблему твою или общечеловеческую.
414 1779006
>>78818
Хуя ебанутые.
В этом вся суть Питона. Это хороший язык, но не для старта, ибо такие вот Ваньки прочитают 20 страниц и начинают месить говно, потому что язык очень флексибл и не кидает ошибки.
415 1779014
>>79006

>Это хороший язык, но не для старта


>потому что язык очень флексибл и не кидает ошибки


Лол, а какой для старта тогда? С++ может?
416 1779020
>>79006
Ты точно с ЖС не перепутал?
417 1779039
>>79014 >>79020

Если не тупой, то можно и С++. Но я бы начал с Джавы. Я о том, что человек не зная основ лепит кучу говнокода, но из-за специфики языка, язык позволяет ему это делать не кидая ошибки.
418 1779040
>>79039
Я другой челик, но тоже недавно начал вкатываться, недельку примерно, и прям чувствую, как творю хуйню на костылях для решения задачек, но язык мне позволяет ее творить. Если с него начинать, то наверное только с преподом, чтобы пиздил за хуйню в коде, особенно на первых этапах.
1408624781246.jpg128 Кб, 730x570
419 1779095
>>73714 (OP)
А вы знали, что есть реализация Python в виде Pyston?
https://github.com/pyston/pyston
420 1779114
>>79095
Это каждый знает. А ты почему не знал? Ты дурак?
421 1779163
Вступил в ногами в жир непонимания пока не догнал что пренебрёг и подзабил на лекции по алгоритмам. Но возник вопросяндрий: есть у кого Контрольная работа №1 (и остальные), те ссылки все нерабочие уже. Не было ли схоронено Антуаном для предстоящих поколений ? Или к ним и не было доступа никогда ?
A8F0D7CB-DAFB-40B5-8B33-D946F92B9A75.png598 Кб, 2224x1668
422 1779164
>>79163
Отклеилось
423 1779166
Чё, смотрю любите долбоёбов с элементарными ошибками? Ну, помогайте. Пытаюсь удалить из списка повторяющиеся элементы. Да, я знаю про множества, но вот хочу так. Представим, что я не хочу проебать порядок.
код тут: https://repl.it/@Soyrates/111
Вот и скажите мне: почему такой результат? Я это всё затеял, чтобы посмотреть как for справится с проходом по всем элементам, когда они смещаются в ходе цикла. Но я видимо, слишком тупой чтобы понять из-за этого проблема или нет. По идее нет, ибо он не игнорирует никакие элементы при проверке условия повторяемости.
В этом интерпретаторе дебага нет никакого, а другого у меня сейчас нет и не будет.
424 1779168
>>79166

>По идее нет, ибо он не игнорирует никакие элементы при проверке условия повторяемости.


Ой, а вообще-то игнорирует.
425 1779170
>>79168
Или нет.
426 1779172
>>79166

>В этом интерпретаторе дебага нет никакого


Есть, слева колонка.
427 1779179
>>79166
Всё, понял в чём дело. Код по ссылке изменился, так что вы и не увидите в чём там дело было. Ладно, хуй с ним.
428 1779220
Есть файлы в папке, которые названы
"part_1", "part_2"... "part_n".

Получаю через os.listdir() спискок этих файлов.
Как его элегантно отсортировать можно?

При обычной сортировке с помощью sort или sorted получается, что сначала идёт
part_1, part_11, part_12
потом только
part_2
429 1779234
>>79220
Переименуй руками первый десяток 1 -> 01
430 1779235
>>79234
Хотя если файлов будет больше 100, то я дебил.
431 1779242
>>79220
Элегантного ничего предложить не могу, а вот говнокод всегда пожалуйста:
your_list.sort(key=lambda x: int(x.rsplit('_',1)[1])
432 1779245
>>79220
files.sort(key=lambda x: int(x.split('part_')[1]))
Страшненько, но сойдет.
433 1779282
>>79235
Есть переименование через os.rename()
Можно ещё создать из этого списка словарь с нормальными значениями и отсортировать его.
434 1779287
>>79242
>>79245
Спасибо, придётся так.
436 1779447
Допустим
а = "10"
b = 10
При попытке их сложить, выдаёт ошибку.
Делаем так:
а = int(a)
Теперь обе переменные с типом данных int.

Есть текстовый файл, для игры "вкторина"
Одна из строк, содержит уникальное число для каждого вопроса.
Почему, при попытке преобразовать строку в int
например так:
points = int(points)
НИЧЕГО НЕ ВЫХОДИТ!!1!?
Подскажите пожалуйста.
437 1779449
>>79447

>Почему


Ну так посмотри что в points лежит, и преобразовывается ли это вообще в строку, может ты накосоебил.
Алсо тебе интерпретатор английским по темному пишет что именно обосралось.
438 1779464
>>79449
есть строка, значение которое изначально было равно целому числу, от 1 до 4. Значение из неё вытягивалось индексирование имя_строки[0]
Я изменил эту строку в самом текстовом файле, просто дописав нужное мне число, например 5, без пробелов.
Затем, создал переменную points и попытался присвоить ей это значение вот так:
points = int(имя_строки[1:])
И получаю ошибку: ValueError: invalid literal for int() with base 10:
При проведении экспериментов в шеле, такая конструкция работает.
Если написать
points = int(имя_строки[0:])
Я получаю целое число, значение которого соответствует только первому символу. Допустим у самой строки значение "150" я получаю только 1
439 1779466
>>79464
Ты какой-то ебалой занимаешься.
Вангую, что там какие-то ньюлайны затесались.
440 1779474
>>79466
Это задание из книги.
Что такое ньюлайны?
441 1779476
Проблема решена. Дело было в одной из объявленных функций...
442 1779477
>>79474
возврат кaретки \r, и символ новой строки \n
443 1779479
>>79476
сап мейлач
в квартире жутко воняет говном, подскажите почему так?
в туалете смываю, из вентиляции ничем не пахнет, из сифонов в раковине и ванне тоже
с закрытыми окнами тоже

проблема решена, оказывается воняло из угла, куда я вчера насрал, когда лень было до туалета идти
444 1779569
Пригласили завтра на собез на старшего эксперта по роботизации. Нужно знать компухтер сциенсе, питон и c#. Что это за зверь такой?
445 1779577
гайз, такой вопрос, в пичарме делаю код типа:
with open('хуйня.txt') as abc:

>a = abc.read()


for i in a:

>print(i)



Короче когда запускаю такую хуйню, в консоли ничего не появляется, даже эрора, проходит какое-то время, и комп просто нахуй виснет, приходится жать резет. В текстовом файле просто 5 строчек уровня:
123
525 a b
24 i
444
71 i

чяднт?
447 1779593
>>79585
А комп-то почему зависает? Я думал в пичарме должна быть защита от дебила, которая не даст сделать хуйню. Не вижу тогда его плюсов
448 1779612
Сап двач.
Ударил молотком по пальцу. Палец распух и болит.
Молоток покупал хороший, немецкий Wurth.
Разве там не должна быть защита от дурака, чтобы при ударе по пальцу было не больно?
Зачем я тогда покупал дорогой молоток? Не вижу тогда его плюсов.
15973276159421.mp41,3 Мб, mp4,
480x480, 0:22
449 1779647
Анон, предположим есть папка с файлами. Надо на каждой итерации загружать, например, 10 случайно выбранных. Причём в конечном счёте выбраны должны быть все файлы минимум один раз.
Как такое сделать?
450 1779651
>>79593
сделал абсолютно так же, создал файл хуйня тхт запиххнул в него твой 5строчный пример, скопипастил твой код запустил, в итоге распечатался каждый символ на новой строке в консоле , ничего не зависло, для теста запустил еще пару раз, все работает, ubuntu 20
451 1779654
>>79647
Надрочи в лист список файлов, в каждой итерации крути рулетку и убирай 10 счастливчиков из листа, пока не выберешь все файлы.
452 1779655
Правда, что на питоне для бека сложно найти работу?
453 1779657
>>79654

>пока не выберешь все файлы.


Тогда все файлы будут по 1 разу выбраны.
В моём же случае допускается выбор 2 и более, главное чтобы все были использованы в конце концов.
454 1779664
>>79657
Тогда выбираешь из изначального листа, а параллельно напихиваешь выбранные в сет
Когда количество элементов в сете = количеству элементов в листе, довольно урчишь
455 1779668
>>79657
были=[]
небыли=[os.listdir]
while небыли !=0:
__файл=random,choise[были+небыли])
__if файл not in были:
____Были.append(файл)
____Небыли.pop(небыли.index(файл))
456 1779671
>>79664
>>79668
Спасибо.
457 1779699
>>79651
А хули ты бездумно копипастишь, пёс? abc.readlines().
Тогда файл будет построчно читать. У тебя будет список строк. Смешные вы вкатыши. Конкуренция будет только на галерах, мхех
458 1779722
>>79699
ебать ты конч)), впорос стоял почему компу пизда при конкретно таких действиях, ну я и прогнал у себя его код чтобы было понятно что проблемы только у него, ты бы хоть удосужился разобраться в вопросе прежде чем гнать)
459 1779748
>>79722
Шар сломался.
460 1779751
>>79722
выложи код и то как ты запускаешь, так непонятно нихуя
другой аноний
461 1779760
>>79751
Код и текстовый документ вот ----> >>79577
запуск в пачарме,там либо вверху справа зелененькую стрелочку нажимаешь(не путать с зелененьким жучком) либо контрол шифт ф 10(по умолчанию)
462 1779833
Мой ответ 99 не принимается из-за ебанин, выделенных красным кружком? Т.е. мне теперь надо пройтись по списку и вычистить оттуда это говно, или можно как-то поэлегантнее?
463 1779834
>>79833
бля, спалил ник в юзернейме виндовском, ну да небольшая потеря
464 1779836
>>79833
Алсо не очень понял, что значит "проверить результат, обратившись к полю text"
465 1779839
>>79040
Типа того. Главная проблема в том, что эти ошибки кода станут частью твоего уровня кодинга и в лонг ране ты всасешь капитально. Это как всю жизнь писать левой рукой, а потом переучиваться.
15943201959020.jpg202 Кб, 858x877
466 1779841
467 1779889
>>79833
Используй regex же. Я насчитал 50 строк.
468 1779899
>>79889
Короче, я сделал колхознее (1 пик), но тоже получил 50. Степик говорит, что это неверно (и это действительно неверно, 2 пик). Не пойму, почему считает не так.
469 1779937
>>79899
Выведи через pprint, наглядно увидишь форматирование
470 1779980
>>79899

>(и это действительно неверно, 2 пик)


А сколько будет строк, если развернуть на полный экран? кек
Если вопрос в этом, то тогда нужно разбивать файл по \n, соответсвенно там и будет новая строчка.
471 1779988
>>79899
опять изменение списка во время обхода. Выше же по треду было про это.
472 1779991
>>73714 (OP)
Разгребаю небольшое легаси гавно на 2.7 с форматирование строк

Суть в том что есть набор системных сообщений в духе:
"Пользователь {0} зашел в чат {1}"
Которые переводятся в юникод и после форматируются через метод .format()
Косяк в том что иногда аргументы могут передаваться не так как надо: скажем в примере выше будет передан лишь 1 аргумент или сразу 4 вместо 2. Как определить сколько аргументов для форматирования содержится в такой строке, прежде чем метод .format будет заюзан?
473 1779993
>>79991
По факту в питоне3 все то же, тут лишь гавнеца в виде text = unicode(text, 'utf-8') накинули
larry-wall.jpg47 Кб, 307x403
474 1780030
>>79991
re.findall(r'\{\d+\}', msg)
111111111.PNG21 Кб, 499x470
475 1780031
Подскажите пожалуйста, я не понимаю, где тут ошибка...
476 1780033
>>80031
Скобка выше не закрыта, слепой штоле?
477 1780037
>>80033
Грустно. Я давно не спал. Спасибо
478 1780040
>>80030
Вот прям ручаешься что там одни только цифры внутри? Хотя скорее вопрос стоит адресовать >>79991
479 1780046
>>80040
Ну можно подкрутить под возможные варианты.
А более питонистый вариант это наверное пробовать и ловить эксепшн, я пока так и не привык к такому подходу.
480 1780052
>>79899
Вангую, что строк должно быть 100, а ты хуяришь безголово стрип и удаляешь последний ньюлайн, лол.
481 1780087
в чем профит black style formatter в двух словах?
482 1780123
Петян, как связать два словаря в одну структуру? Понимаю, что, возможно, совсем уебанский вопрос, и на пистоне вообще о такой хуйне думать не стоит, ибо компьютеры быстрые и вся хуйня, НО

задумался я о двухнаправленной хештаблице. чтобы блять можно было за O(1) выцеплять значения по ключу, но и по значению за O(1) ловить ключи. ничего, кроме ведения параллельно двух словарей я не могу сходу придумать.
483 1780125
>>80123
самого главного не написал. n-m отношения. в первом словаре А ключи условно уникальные, к каждому ключу могут относиться несколько значений. знаю, знаю, по правде значение только одно, и это будет просто список, но я за значения принимаю элементы этого списка. короче, упрощённо что-то такое:

A = {a_key : [a_val_1, a_val_2], b_key : [b_val_1]}

ну и теперь надо будет ещё вести второй словарь уже без вложений:

Z = {a_val_1 : a_key, a_val_2 : a_key, b_val_1 : b_key}

так вот, есть ли такая ебала уже готовая, чтобы все вставки, правки сама делала и была тредсейф? или мне придётся не изъёбываться и учить SQL?
484 1780138
Где посмотреть примеры грамотно написанных и реализованных проектов (паттерны, антипаттерны, и т.д.)? Смотрел youtube-dl, но вроде там ничего особенного и нет. Сам крестун давно уж, поднять основы языка вообще абсолютно труда не составило.
485 1780141
>>73714 (OP)
Если попытаться посрать на третьем пике, то какова будет реакция змеи?
486 1780156
>>80123
Почему обязательно словарь? Ты хочешь промежуточные данные хранить?
487 1780166
>>80087
Экономит время нормальных людей, чтобы не обсуждать где ставить перенос строки с коллегами долбоебами
488 1780243
На глубене рекурсий factors = [2, 5], перед командой return по условию, print(factors) выдаёт эти [2, 5]
но следующая за ней команда return factors выдаёт None - почему так ???
Снимок.PNG11 Кб, 399x403
489 1780244
На глубене рекурсий factors = [2, 5], перед командой return по условию, print(factors) выдаёт эти [2, 5]
но следующая за ней команда return factors выдаёт None - почему так ???
490 1780246
>>80243
Покажи код.
491 1780248
>>80244
В рекурсивных вызов тоже должен быть return
Снимок.PNG11 Кб, 399x403
492 1780249
На последней итерации рекурсии переменная factors = [2, 5], перед командой return - print(factors) выдаёт эти [2, 5]
но следующая за ней команда return factors выдаёт None - почему так ???
493 1780251
Сорри я копий наебашил случайно
494 1780255
>>80248
Работает но в чём разница ? Если я смотрю через Дебагер работает так же ? Так же сначала вглубь лезет потом обратно выныривает. Вообще то же самое же ?
495 1780257
Работает но в чём разница ? Если я смотрю через Дебагер работает так же * Так же сначала вглубь лезет потом обратно выныривает. Вообще то же самое же ?
496 1780264
>>80251
Вешайся.
497 1780268
>>80255
Потому что рекурсия идет в глубину, а доходя до простейшего случая возвращает результат. У тебя максимальная глубина возвращает результат, а дальше по цепочке назад уже нет.
498 1780270
>>80264
Какой ты самоуверенный, неужели к успеху пришёл. Ладно жди обратку от кармы
499 1780271
>>80268
А то есть если не возвращать рекурсию она при возврате возвращает свои локальные переменные ? То есть я делаю то же самое но задом наперёд и получаю то с чего начинал так что ли ?
500 1780274
>>80271
То она при возврате не возвращает ничего, что и дает твой None.
501 1780337
Как в pycharm работать с крупными проектами, где ебалион модулей и в каждом модуле ебалион классов? Есть какие-то фишки чтоб облегчит ьсебе навигацию? Знаю пока только что через ctrl+B можно перейти к первому объявлению переменной
502 1780343
Джуны тут?
Вам там вакансию закинули: https://www.linux.org.ru/forum/job/15859246
503 1780349
Анусы, возникла потребность в дистанционном отключении скрипта. Слышал, что можно поставить крутиться какой то веб сервер и в случае надобности вырубать его, только я в этом нихуя не знаю. Есть что то на эту тему?
504 1780361
>>80343
Спс, уже нашел
Жру свое легаси-говно напополам с нормальным кодом
505 1780369
>>80349
Чем тебя ssh не устраивает? Подключился, убил скрипт, отключился.
506 1780376
>>80349

>можно поставить крутиться какой то веб сервер


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

типовая задачка на эту тему уже тут была: >>75902 >>75917
1526579167185.png501 Кб, 1102x967
507 1780394
Где найти стажировку
508 1780409
>>80394
Везде блять. Проблема лишь в том что ты пассивен (либо что ты ивешь в Мухосрани). Стажировку (неоплачиваемую) как раз найти можно где угодно
изображение.png1 Кб, 160x97
509 1780410
>>80409
Я весь hh перекопал.
510 1780412
>>80410
Проблема в тебе
Составь норм резюме и указывай что готов на неоплачиваемую стажировку
511 1780413
>>80394
Мейл.ру и яндекс проверял?
512 1780415
>>80413
Там вроде конкуренция я ебал, не?
513 1780421
Кто еще молодой, но чувствует, что соснет в айти - идите в аэрофлот в бортпроводники.
Серьезно, охуенная тема. Стажировка с небольшой стипендией. Потом зарплата нормальная вообще без каких-либо навыков, если налет нормальный.
Плюс, можно привозить на заказ всякие штуки, типа заграничного бухла. Контрабанду айфонов и наркоты предложат прямо там, решаться ли и на что именно - решать вам.
Любые расходники вроде жратвы на борту, напитков, и прочих перекусов можно забирать с собой, это не возбраняется. Кто-то умудряется даже пиздить влажные салфетки и одноразовую посуду.
Когда большой гэп между прямым и обратным рейсом, вас селят в отель. Часто есть время прогуляться по городу, посмотреть зоопарк какой местный - очень круто и практически ничего тебе не стоит.
Если вы девка, то еще за красивые глаза с сиськами чаевые будут давать иностранцы.
У аэрофлота свои неплохие клиники, куча льгот вроде билетов за бесценок для себя и родственников, отпуск 2 месяца в год.
Я не шучу сейчас, кто хотел перебраться в тот же ДС, но вы не очень умны для кодинга - это идеальный вариант для вас, если по здоровью подходите.
514 1780423
>>75902
Если я сделаю 1, сюда можно на кодревью закинуть?
515 1780435
>>80421
Челы, сорямба, не в тот тред.
516 1780446
>>80421

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


Сразу задам ключевой вопрос: сколько лет дадут?

>Любые расходники вроде жратвы на борту, напитков, и прочих перекусов можно забирать с собой, это не возбраняется


Напомнило пасту про сборы в армию: https://pastach.ru/p/2

>Часто есть время прогуляться по городу


Как правило этого времени нет, кек. И большие гэпы тоже редкость
517 1780449
>>80415
Ну как бы да... а хули ты хотел? Курсы прошел и тебе сразу кадровики будут искать?
518 1780450
>>80446
В дютифри можно же закупаться. Проблемы?
519 1780521
Как вкатиться в Джанго? Оф.документация скорее отпугивает, нежели манит. Есть ли какие-нибудь курсы на торрентах и т.д. с хорошей практикой и низким порогом?
520 1780523
>>80521

>Как вкатиться в Джанго


Зачем?
521 1780524
>>80523
Просто так.
522 1780525
>>80521
Ну попробуй tutorial.djangogirls.org
523 1780572
аноны, поясните такой момент. Вот я открыл простой текстовый файл через with open.... бла-бла
присвоил переменной значение открытого с методом(функцией? путаюсю в терминах) .read
теперь у меня в переменной а лежит какая-то строка
я делаю a+='supdvach'
дальше пишу
with open ('otvet.txt', 'w') as ouf:

>ouf.write(a)



Так вот, почему в файле получается не abrakadabrasupdvach, а
abrakadabra
supdvach
откуда этот перенос строки берется, он же по умолчанию только в принт встроен, или как это работает.
524 1780573
>>80525
и станешь фемкой?
525 1780574
>>80572
Код целиком на ideone или pastebin закинь
527 1780579
>>80577
Потому что в конце файла лежит \n
Не веришь - проверь через logging (ну или через print) содержимое a
image.png9 Кб, 898x88
528 1780581
>>80579
бля, точно, открыл просто нотпадом++ и тут видно вторую строку. Какой самый адекватный способ это исправить?
529 1780582
Кто нибудь так делает?
os.chdir(file) if os.path.exists(file) else (os.mkdir(file), os.chdir(file))
На сколько лаконично смотрится? или все же понятнее столбиком?
530 1780584
>>80582
Выглядит довольно вырвиглазно как по мне
531 1780586
>>80581
a.rstrip('\n')
image.png12 Кб, 337x142
532 1780587
>>80586
вот так? чет не сработало
533 1780589
>>80587
Метод как и большинство возвращает новую строку, а не изменяет существующую
534 1780593
>>80589
Спасибо огромное. Правда выяснилось, что операции, которые надо было сделать с файлом нихуя не правильные, но записывать начало правильно, уже что-то
535 1780595
>>80582
Хуево смотрится, но с туплей забавный хак.
536 1780597
>>80595
Недавно смотрел "хак" где чувак в проекте написал что-то вроде
def some_function(value, args=None, kwargs=None):
----if len(args): ...

Оказывается это был хитрый план, если args==None, то есть его не изменили, то выскочит эксепшн, который будет обрабатываться внешним блоком try/except, только вот хер ты это поймешь сходу. Явное лучше неявного и над такими участками порой бьешься головой о стену
537 1780607
>>80584
>>80595
А что думаете насчет оператора :=
538 1780637
>>80607
Думаю примерно 10 паскалей из 10
539 1780649
>>80607
Есть несколько частых кейсов, куда он вписывается, не более.
Но отваливаются старые версии. Лет через пять может и взлетит.
540 1780665
>>78828

>Ну так список со строкой вообще-то складываются, а у меня числа надо в список сохранять


Это вот этим кодом >>78818 ?
Мдя. Ты на третьей строке получаешь строку и сохраняешь её в i. Потом на 5й строке превращаешь её в число и сохраняешь число в number. А потом добавляешь к list'у i. Что сохранено в i? Строка, ты её в i запихнул на третьей строке кода и она там и осталась! А в number ты так и не использовал.
>>79006

>такие вот Ваньки прочитают 20 страниц и начинают месить говно


Справедливости ради, я начинал на языке с куда более строгой типизацией - Pascal - и я сейчас понимаю, что в самом начале я много чудил, пока не разобрался. Хотя, наверное, да, в Паскале я бы сразу получил граблями и попытался бы лучше понять, что не так...
Но вот с высоты универа + 10 лет в админстве (а любой админ всегда умеет кодить на паре языков и читает любой неэзотерический код из понятной ему предметной области) могу сказать, что от Пайтона я в восторге: в отличии ото всех ЯПов, с которыми я имел дело у меня не было вопросов типа "какого лешего он не делает то, что я попросил?", пистон всегда делал то, что я от него просил так, как я просил.
Я тут недавно нашёл один свой университетский прожект... И переписал его с Delphi на Python (правда, без гуя), поражаясь своей давишней жопорукости. С полутора тысяч строк говнокода до полутора сотен строк лаконичного решения полностью повторившего логику оригинала.
T.jpg91 Кб, 800x410
541 1780674
>>80665

>Pascal

542 1780716
>>80521
У них там async views появились, читай доки свежие. Интересно сколько они еще будут копротивляться и не начнут пиздить наработки из асинхронных фреймворков и наконец-то убьют templates. Сколько можно насиловать шаблоны и формы?
543 1780717
>>80716

>и не начнут пиздить наработки из асинхронных фреймворков


Какие например?
544 1780719
>>80717
Чтобы к каждой строчке надо было хуярить async await, а то и несколько штук, а то посоны не уважают без этой хуйни.
545 1780767
>>79166

>Пытаюсь удалить из списка повторяющиеся элементы.


a=list('aaaaaaaaassssssssssddddddddddd')
a=list(set(a))

>я знаю про множества


Ну да, я просто поржать. В универе была задачка на PureC написать прогу для первода между разными системами счисления типа "из двоичной в восьмеричную" и т.п., которую некоторые решали в две строки, вида "выведи число в такой-то системе", что преподшу не удовлетворило и им тоже пришлось вступать в отношения с настоящим кодом.
546 1780769
>>80716

>. Интересно сколько они еще будут копротивляться и не начнут пиздить наработки из асинхронных фреймворков


Ну так посмотри роадмап их, они все на асинхронщину переписывают постепенно, приходи через год-полтора
547 1780776
>>80717
>>80719
Например неблокируемое логирование, отправка через SMTP, запись в БД (при том любую).
А так питон медленнее Го и не нужен. Только формошлепать.
548 1780783
549 1780784
>>79834
Палю лайфхак, сам пользуюсь: у компов либо оставляю хостнейм по дефолту, либо пишу "PC"/"Notebook"/etc, пользователя всюду зову "User", реже - "Admin" и вообще не парюсь, что что-то кто-то увидит.
мимо однажды спалил логин с рабочего ПК с фамилией и инициалами, но никто, вроде, не заметил
550 1780785
Дожил, даже игру установить не могу. Весь вечер потрачено и никак.
63665657-1971-41CD-B9CD-FE6B97698280.png3,2 Мб, 2224x1668
551 1780786
63665657-1971-41CD-B9CD-FE6B97698280.png3,2 Мб, 2224x1668
552 1780787
>>80785

Отклеилось
553 1780803
>>80525
Приличный тутор, но я бы сказал, что можно за пару часов на трубе получить больше:
https://www.youtube.com/watch?v=6K83dgjkQNw
Или тут:
https://www.youtube.com/playlist?list=PLD-piGJ3Dtl0v10rx98Q0kuAsBfn2MmxL
554 1780806
>>80674
Знаешь, Паскаль я учил ещё до того, как ты в школу пошёл, тогда это был язык по-умолчанию для вкатывальщиков. Но даже если бы это было не так, знаешь с какой скоростью я кручу на хую мнение быдланов насчёт илитности языков?
У меня почти все (кроме скриптов) прикладные программы по работе на Delphi или Lazarus потому что всё, что мне от них нужно, это чтобы было легко написать, легко прочитать через пару лет и чтобы они РАБОТАЛИ. И FPC в частности с этим прекрасно справляется.
555 1780825
Тут случилась забавная ситуация из-за недопонимания, я прочитал Лутца, хвалился даже в треде, что все понял. Но Лутц у вас на ядиске в 2 томах, а я читал в одном и продолжения нет. Открыл в 2 томах, Лутц о какой-то ебанине пишет, а в моей книге об основах (до метаклассов).
Книга называется Изучаем Python М.Лутц. Вопрос: о каком Лутце вы речь ведёте в рекомендациях?
556 1780834
>>80665
Мда, нарцисс и пиздабол, не хотел бы я с тобой работать.

мимоадмин
557 1780849
>>80825
Ты небось читал книгу от португальца Лучано Рамальо, идиот
image.png28 Кб, 518x635
558 1780854
>>80849
Ну, зачем сразу обзываться, вот книга, которую я читал. А у вас на ядиске валяется 2 тома "программируем на Python" Лутца. Что из этого надо читать?
559 1780856
>>80776
Все бы ничего, но ГО это вырвиглазная поделка без ООПа (даже без его иммитации). Крупный поддерживаемый проект на бэке без ООПа не написать. Го не конкурент Жабе и Котлину
560 1780876
Че делать чтобы добавить книжки в шапку? Есть дохуя пдфок
561 1780899
>>80876
Залей на свой Яндекс-диск с публичным доступом. Даже если перекатчик не закинет твою ссылку мгновенно, потом это таки сделают (зависит еще и от качества твоего контента)
562 1780917
>>80854
Сначала "Изучаем", потом, опционально, "Программируем".
Обе хорошие, полезные.
563 1780941
>>80917
Редкий ньюфаг долетает до половины первой, куда там две.
564 1780943
>>80856

>Го не конкурент Жабе


Как там, 85 гигабайт памяти еще хватает?
565 1780955
Собственно пик 1 и 2, какого хуя, что ему не так в print(s), почему пичарм это подчеркивает как ошибку синтаксиса, я нипанимат
567 1780960
>>80955
со скобками строкой выше все ок?
568 1781002
>>80960
3])) - тут нет скобки у него
569 1782301
>>80767

>В универе была задачка на PureC написать прогу для первода между разными системами счисления типа "из двоичной в восьмеричную" и т.п.


В питоне это пол строки вообще, просто int.
Тред утонул или удален.
Это копия, сохраненная 3 марта 2021 года.

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

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