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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
diveintopython.jpg1,9 Мб, 2304x2816
Питон № 156 /python/ Гвидо 2603452 В конец треда | Веб
Тред, посвящённый языку программирования Питон

Предыдущий: >>2590923 (OP)

Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://goonlinetools.com/snapshot/share/ - для листингов, без регистрации, но с капчей

#######################################
Вопросы-ответы:
— С чего начать изучать питон?
У питона намного лучше официальная документация, чем у большинства других языков. Есть там и учебное пособие для начинающих: https://docs.python.org/3/tutorial/introduction.html , неофициальный перевод на русский язык: https://digitology.tech/docs/python_3/tutorial/introduction.html (для питона версии 3.8, но разницы почти нет)

— Какие книги считаются лучшими?
На слуху чаще всего Лутц, но там очень много воды. Ещё на слуху Марк Саммерфильд, Эл Свейгарт "Автоматизация рутинных задач с помощью python". Эти книги рекомендуют чаще всего, но книги довольно старые, а питон развивается.

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать даже для версий 1.x, т.к. принципы остаются теми же. Но лучше хотя бы с версии 2.0, слишком много мелких изменений в базе.

— Какие веб-фреймворки стоит учить в начале двадцатых?
Что бы не говорили, Джанго живее всех живых и умирать не собирается (и Django REST Framework), очень перспективный асинхронный FastAPI, асинхронный AioHTTP. Flask ещё где-то используется, но уже legacy. Прочие фреймворки или у нас экзотика, или это вымирающее легаси как Торнадо.

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но частично переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Ролик на американском языке про многопоточность и асинхронность, построение своего event loop с нуля, помогает понять, как устроена асинхронность внутри: https://www.youtube.com/watch?v=MCs5OvhV9S4

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

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

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

старая версия шапки, треды 90-148 и ранее: https://dumpz.org/bASGKD8cCFDf
ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
2 2603465
отметился
3 2603549
Как замокать функцию в unittest, чтоб она выполнялась, но я мог результат получить её в тесте и сравнить?
4 2603588
Как тестировать методы сервиса апи-гейтвей, если они на той стороне обращаются к другим сервисам? Тесты должны запускаться после того, как сервис задеплоился или до?
5 2603659
>>03549
>>03588
как забанить всех долбоебов, которые двач используют вместо гугла?

Я хочу сюда для интересных дискуссий с профессионалами, а не чтобы вашу работу делать бесплатно.
6 2603716
>>03659
че такой токсик?
7 2603772
Народ, а есть какой-нибудь встроенный способ перекидывать итератор на начало списка?
Например, есть список (кортеж, множество, не важно), создаём итератор, функцией next перебираем элементы и в конце нужно перейти снова на 1й элемент. Нигде в руководствах пока не нашёл способ сделать это проще, чем перехватывать StopIteration траем и вручную его назначать на первый элемент.
8 2603812
>>03772
Напиши свой класс-обёртку и перекидывай куда хочешь
9 2603820
>>03772

>Народ, а есть какой-нибудь встроенный способ перекидывать итератор на начало списка?


Например, есть список (кортеж, множество, не важно), создаём итератор, функцией next перебираем элементы и в конце нужно перейти снова на 1й элемент

Почитай про связанные списки
10 2603824
>>03772
Вопрос, а нафига тебе делать это через next для начала.
11 2603826
>>03772
itertools.cycle
12 2603881
>>03812
>>03820

>а есть какой-нибудь встроенный способ


Свой класс связанных списков я могу написать со всеми методами и пр. Вопрос был про возможное изобретение колеса.
>>03824
Предложи другой способ, кроме написания отдельного класса
>>03826
Я так-то не фанат подгружать модули ради одной-двух функций.

Видимо, проще и быстрее самому написать такой класс
13 2603886
Захожу через Selenium на сайт с прокси - всё нормально, CloudFlare пропускает.

Захожу на сайт с измененным user agent - всё нормально, CloudFlare пропускает.

Захожу на сайт с прокси и измененным user agent - CloudFlare считает меня за бота и не пропускает.

Почему? Как так, что по отдельности он не триггерится, а если и прокси и фейковый юзер агент, то стопорит. Айпи же вроде вообще никак связан с юзерагентом.
14 2603887
>>03772
Ты напиши кейс в котором тебе такое может понадобиться?
Если это список ты просто можешь счетчик с range использовать скинуть в 0 когда надо.

next подразумевает что у тебя и генератор там может быть из которого ты элемент не получишь второй раз.
15 2603915
>>03881

>Я так-то не фанат подгружать модули ради одной-двух функций.


Ну забудь об этом и подгружай. Целку тут строить из себя не нужно
>>03881

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


i = i % len(list)
Как индекс доходит до длины списка, то снова становится равным 1. Хотя если ноль нужно, то if i % len(list) == 1: i = 0
16 2603924
>>03915
А если не хочешь подгружать весь модуль, то никто не мешает тебе просто скопипастить от туда функцию.
17 2603937
>>03887
Кейс простой: у меня в игре задействовано время вообще и месяцы в частности, а также перемещение во времени. Месяцы в списке и смысл в том, чтобы когда в ноябре вызывалась функция МесяцевСпустя(3), то был февраль, а если в марте МесяцевНазад(6), то был сентябрь.
>>03915
>>03924

>i = i % len(list)


о, спасибо за изящное решение!
Хотя над копипастой функции из модуля тоже подумаю)
18 2603969
>>03659
Как забанить всех чсв хуеплётов, чтоб они съебали в свой закрытый чатек в телеге надрачивать друг другу с тишкой, которые строят из себя дохуя интеллектуалов, которые также спрашивали когда-то, условно, чем отличаются футуры от тасок в асинкайо, а теперь преисполнились, но по факту продолжают на работе перекладывать жысоны и пилят кабанчиковые проектики копируя код из гугла/чатгопоты. Рака яиц тебе, желчный профессиоанал.
image.png31 Кб, 977x811
19 2604004
https://leetcode.com/problems/plus-one/
Подскажите дон где у меня дон тут неправильно дон ? Тесты же изначальные проходит же, но вот на списке [9,9] не получается пройти еже
или я задание не так понял епта? Нужно всего лишь прибавить единицу к последнему элементу списка и вернуть измененный список:
[1,2,3] + 1 = [1,2,4]
[9] + 1 = [1,0]
[9,9] + 1 = [9,1,0]
Так должно быть?
20 2604006
>>04004
аааа я задание снова неправильно понял, если 99 то это типа 100 должно быть
21 2604033
>>03969
Этих петухов надо на завод гайки крутить или на судно или в тайгу и тундру, лопату им в руки, кирку и молоток...пусть попробуют тяжелый труд, глядишь и успокоятса. Поймут может чего через облагораживающй тяжелый физический труд и в скором времени говнится перестанут
22 2604081
https://leetcode.com/problems/reverse-bits/description/
Как вообще работает литкод? Какой-то он мудренный в сравнении с кодварс. Как возможно передать в функцию тип ИНТ с лидирующими нулями и потом его еще обрабатывать? Как они это делают? Откуда они знают как решають эту задачу? Я вот учился и везде читал что нельзя чтобы нули были перед интежер, а тут литкод дает задачу где интежер представлен с лидирующими нулями.
23 2604117
>>04081

>Как возможно передать в функцию тип ИНТ с лидирующими нулями


>The input must be a binary string of length 32



ЧИТАЙ УСЛОВИЯ ЗАДАЧИ СУКА ДУРАК
24 2604118
>>04117
Ничего не понял. Я взял их инпут и запустил в иде. И иде выдает ошибку. Говорит откуда тут нули говорит. И рабочий код уже в моей иде не рабочий. Как это объяснишь, сученышь? На завод тебе надо, к мужикам, вежливее стал бы
image.png5 Кб, 401x93
25 2604119
>>04117
Ты дебил?
Стикер320x320
26 2604125
Чому сраный пайчарм не тромозит на сраном брэйкпоинте?

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

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

Двач помоги, жопа горит.
ЧЯДНТ?
изображение.png21 Кб, 1340x386
27 2604126
>>04119
Макака увидела string и сломала мозг?
Для тупых - 32bit binary string - НЕ значит что на вход подаётся строка. String в данном случае переводится как "последовательность". Это значит лишь то, что инты будут меньше или равны 32 бит.

Алсо только что правильно решил за 2 минуты
16734104651990.jpg143 Кб, 800x400
28 2604128
Верещу с кнопкодавов, которые не знают откуда нули перед числом
29 2604131
>>04126

>Говорит откуда тут нули говорит



На вход подаётся интовое представление этой последовательности. Тебе нужно перевести её в двоичную, перевернуть и перевести обратно в инт
30 2604134
>>04131
>>04118 - сюда
31 2604145
>>04131
Ну то есть подаётся именно десятичное число. Я через вот разделение на 2 получил двоичное представление в видео строки. Оно уже перевёрнуто потому что записывал остатки как от деления в столбик
Я перевожу его в инт(s,10)
Но почему-то не срабатывает у меня теряются нули которые спереди и часть из переносится на правую сторону и в итоге число становится другим не таким как я получил в строке
32 2604146
>>04145

>Я перевожу его в инт(s,10)


Тебе нужно вернуть нормальный инт
int('101', 10) == 101
int('101', 2) == 5 # ты должен вернуть

>теряются нули


Добавь их в строку сам. В твоём случае сразу в конец.
IMG20230209004809.jpg103 Кб, 1023x1278
33 2604148
>>04146
Вот так получается
Сейчас попробую нули добавить
IMG20230209005053.jpg187 Кб, 1080x1911
34 2604149
>>04146
В общем вот так выглядит все
IMG20230209005053.jpg187 Кб, 1080x1911
35 2604150
>>04146
В общем вот так выглядит все
36 2604154
>>04150
>>04149
У тебя длина бинарной строки известна заранее - 32 символа.

Во-вторых - зачем ты пишешь так на питоне? С тем же успехом ты бы мог решать на c, go, rust, или любом другом языке.

В питоне эта задача решается в одну строку и решать её иначе нет смысла, так как это будет менее эффективно, менее читаемо и займёт больше времени.
37 2604158
Аноны, когда я вызываю next(%итератор%) это выполняет тело итератора или его ещё как-то надо вызвать?

Я просто хочу скипнуть один шаг в середине zip,не хочу чтобы он вообще выполнялся.
38 2604159
>>04158
выполнит. Нельзя "скипнуть" шаг итератора без вызова __next__()
39 2604160
>>04154
Я по возможности стараюсь писать как надо, просто когда я учился у нас был си и там вот так писали и я видимо привык и поэтому когда я не знаю как на питоне использовать нужный инструмент я делаю такие циклы
40 2604162
>>04160
В этой задаче циклы вообще не нужны
41 2604165
return int('{0:032b}'.format(n)[::-1], 2) - окончательное решение

bin = '{0:b}'.format(n)[::-1].ljust(32, "0")
return int(bin, 2)
- изначально написал так, потом отрефакторил

Если сдашься
42 2604166
>>04159
А можно как-то "скипнуть" итерацию только встроенными функциями? В интернете везде пишут что надо itertools подключать, а не хотелось бы из за одного единственного действия во всей программе это делать.
43 2604168
>>04166
Континуе?
44 2604170
>>04166
У итератора только один метод - __next__(), который возвращает значение или кидает StopIteration.
В этом его смысл.

Нужно больше вводных, но если тебе нужно скипать шаг итератора без вывода __next__() - ты делаешь что-то не так.
45 2604173
>>04170

>без вывода


Без вызова

Быстрофикс
46 2604175
>>04170

>Нужно больше вводных



Вот есть такой массив.
_input = [('1-1','1-2','1-3'),('2-1','2-2','2-3'),('3-1','3-2','3-3')]

Я из него делаю
_out = [('1-1','2-1','3-1'),('1-3','2-3','3-3')]

Т.е. zip(\*_input) и нужно пропустить в нем второй элемент, чтобы он вообще не делался. ('1-2','2-2','3-3')
47 2604184
Сделай вот такую обёртку:

(x for i, x in enumerate(zip(*_input)) if i != 2)
48 2604187
49 2604192
>>04175
[n for i, n in enumerate(zip(('1-1','1-2','1-3'),('2-1','2-2','2-3'),('3-1','3-2','3-3'))) if i != 1]
50 2604195
>>04184
Ой, да, 1 вместо 2 должно быть лол
51 2604196
>>04184
Конечно 1 вместо 2 должно быть лол
52 2604200
>>04184
>>04192
>>04195
А это точно ПРОПУСТИТ саму итерацию? Мне не нужно такое решение которое эквивалентно continue

for i, z in enumerate(zip(...)):
....if i == 1:
........continue

Потому что тут очевидно итерация выполняется, просто её результат не записывается.
53 2604205
>>04200
Тебе же объяснили что НЕЛЬЗЯ ПРОПУСТИТЬ ИТЕРАЦИЮ ИТЕРАТОРА блять.

Что у тебя там такого происходит что ты не хочешь выполнять? Пока ты не объяснишь своих задач тебе никто не поможет.
54 2604208
>>04205

>НЕЛЬЗЯ


Так можно же пропустить с помощью itertools.

>Что у тебя там


Там строка размером 80 гигобайт, не хочу её трогать.
55 2604210
>>04200
Нет, делай тогда итератор из слайсов и делай от него зип:
[n for n in zip(\*(i[::2] for i in _input))]
56 2604216
>>04208

>Так можно же


Боже.

>Там строка размером 80 гигобайт


Ничего не говорит

Короче наберёшь когда реализуешь. Я ебал из тебя инфу вытягивать
57 2604219
>>04216
Зачем тебе моя инфа. Я вроде нормально задачу описал. Что на вход что на выход. Мне нужно что то с этим вводными сделать, а ты видимо хочешь применить СМЕКАЛОЧКУ и что-то изменить на участке ранее т.е. изменить вводные.
58 2604220
>>04210
В его кастрированном примере, который не отражает реальной задачи сработает, но он скипает не вторую строку, а каждую вторую. Это во-первых.

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

Кнопкодав не в состоянии разобраться как работают итераторы и боится проимпортировать стандартную библиотеку.

На лицо диагноз - клинический кретинизм. Программирование противопоказано.
59 2604221
>>04220
Ты чего порвался то, братишка? Ты извини если что, не хотел тебя до визга доводить, но ты как-то сам без причины на него сорвался.
60 2604222
>>04221
Послекурсовый, ты?
61 2604223
>>04210
Спасибо, буду думать в этом направлении, а то итт становится жарко.
62 2604233
>>04223
Ну либо явно указывать элементы, которые должны попасть в итератор, по идее это должно быть экономнее по памяти чем слайсы, т.к. не создаётся список:
[n for n in zip(\*((i[0], i[2]) for i in _input))]
изображение.png436 Кб, 1000x500
63 2604252
64 2604274
есть кто вкатывался в golang после питона? книжки посоветуете? или может каналы? любил учить яп в codewars, но думаю без базиса не выйдет
на вид синтаксис плюсы напоминает и из-за этого страх появляется из-за работы с этой вонючей памятью (боже храни garbage collection)
наверное кто-то в меня камни будет кидать, что я не в тот тред пишу, но просто гляньте на хабре сколько вакансий с go и сколько вакансий с django (да, я сам в шоке) (да, чаще вакансии включает и python и go, но все же, отношение 1 к 5)
65 2604294
>>04252
Как же я орнул с пикчи.
66 2604335
>>04166

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


чел, это норма, любого, кто пилит велосипеды будут бить по яйцам.
твой говнокод с костылями будет в сотни раз хуже обычного импорта from
python только из-за библиотек и цениться, нативный питон это уровня паскаля, чисто для школоты
67 2604338
>>04335
Чел, у питона в половине этих замечательных библиотек под капотом обычные алгоритмы из встроенных функций и циклов. А ничего не импортировать наоборот признак элитарности, сразу все понимаю какой крутой кодер писал, тимлид, не меньше.
Screenshot122.jpg58 Кб, 840x450
68 2604341
>>04338
Многие встроенные библиотеки написаны на C. Поэтому использовать их обязательно.
Видишь эти пассы? Но функции то работают, а это значит, что они используют C. Твои решения будут просто в сотни раз медленнее. Буквально
New Python Coders Be Like.mp45 Мб, mp4,
1280x720, 2:12
69 2604343
>>04338
Ну и это видео как раз о тебе, лол.
15877599926090.png108 Кб, 554x439
70 2604356
>>04341

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

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

Не использовать именно их это значит говнокодить на уровне 9го класса, где тебе двойку поставят за попытку что-либо импортировать, ибо учителя знают только ванильный питон на самом примитивном уровне.
72 2604367
>>04360
Всё верно. Стоит вопрос только о том чтобы

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



Если разработчики питона так сделали, значит и элитный синьор тим лид так делать должен. Ему не нужно захламлять область видимости ссылками. ведь он может зделат всё на одних встроенных функциях.
73 2604368
>>04367
Ладно, забей, сам чувствую, как тупею, общаясь с тобой
74 2604370
>>04367

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

75 2604375
>>04368
Хоспаде и чего ты такой душный уже с самого утра. Расслабь булки.
76 2604411
Откуда в петухон треде стало столько говнюков как в треде про ксяоми? Раньше в питон треде люди были добрее и отзывчивые терпимые смиренные как в треде самсунгистов. А теперь тут будто сборище ксяомистов.
А понял, питон это ксяоми от мира программирования так сказать топ за свои деньги
77 2604458
>>04411

>Вы все токсики


>петухон, говнюков, ксяомисты


Свинья везде говно найдёт
image.png29 Кб, 965x647
78 2604460
>>04165
Спасибо, я решил. Добавил всего 1 строку)
79 2604464
Стоит браться за написание тг бота по функционалу, чтобы парсил информацию из других соц сетей типа дискорда, если мой уровень это решать задачи 7 kyu на кодварсе? Если нет, то как знания улучшить до этого? Я чето курсы для новичков попроходил и туплю, что дальше делать
image.png5 Кб, 325x126
80 2604483
>>04165
>>04460
Изначально я хотел так сделать. Но из-за того что не понял условие задачи затупил. Достаточный стиль для питоник вей дзена?
81 2604490
>>04483

> s += '0' * (32 - len(s))



s = s.rjust(32, "0")

>питоник вей


Вполне. Я бы еще заменил bin(n) и удаление крайних символов на
format(n, 'b')
82 2604508
Изучаю Backend, и заметил что многие часто хэйтят Django, говорят что для серьезных проэктов он не подходит. Говорят что на Python можно работать только в небольших стартапах (для больших проэктов советуют Java). Это правда? Если да, то можете объяснить почему.
83 2604521
>>03881

> Я так-то не фанат подгружать модули ради одной-двух функций.



Ты тупой что ли?
from itertools import cycle

А ещё говорит велосипедить не хочет, но именно этим и занимается
84 2604525
>>04464
Можешь попробовать, и где увидишь, что тупишь и ломаешься, то лучше не стоит тратить время на костыли, а дальше учиться в этом направлении
85 2604558
>>04508
Когда речь идёт о любви/хейте в программировании, то просто игнорь. Это всё уровня споров, кто лучшая вайфу или что лучше, тсундере или яндеру. Дело вкуса, вопрос задачи и просто писькомерство, что я крутой и пиши серьёзные проекты, а ты лах.

Во первых, небольшие проекты крайне востребованы. И всякие инстаграммы написаны на питоне во вторых.

И из-за того, что Java для больших проектов обычно и используется, то и найти работу с ней тебе будет сложнее, потому что тебе придётся устраивать и в крупные компании со всеми их анальными десятью стадиями собеседования, фриланса так же куда меньше.
86 2604561
>>04558
А так даже c php лучше начать вкатываться в беке, чем с джава. Как раз потому, что с джавой сложнее устраиваться намного на работу в бек
87 2604695
>>04508
В таких случаях лучше подобные вопросы задавать утверждающему, а не мимокрокам. Мало ли, вдруг у него на жаве есть какая-то готовая библиотека на случай NN, который ему где-то пригодился, а под джангу этого не было. На жаве любой софт писать сложнее и дольше, хоть оно в итоге и быстрее потом выполняется.
88 2604698
>>03881

> Я так-то не фанат подгружать модули ради одной-двух функций



Стандартная библиотека обычно вшита в сам exe питона, и по умолчанию уже загружена в оперативку, импортировать оттуда модули почти бесплатно. Не говоря уже о том, что там много оптимизированного кода на си.
Screenshot from 2023-02-09 15-15-53.png21 Кб, 421x260
89 2604704
>>03772
В общем случае нет способа перекидывать итератор. Сама суть итератора это один раз пройти по каким-то данных, хоть они с магнитной ленты читаются или из радиоэфира приходят. Перемещения и случайный доступ работают только на структурах данных, где все данные под рукой.
90 2604707
>>04464
Все эти склейки разных апи это очень непросто, там тысячи возможных состояний и их комбинаций. Тг не подключился, а дискорд подключился, или наоборот. Куда-то нужно складывать промежуточные результаты чтобы не потерялись, нужна база данных. Сами апи далеко не всегда очевидно как использовать, особенно чаты реального времени. Парсить проще всего википедию, а не чаты.
91 2604720
>>04411
надо просто добрее друг к другу быть
92 2604755
А можно в numpy искать меньший в массив в большем.
Допустим есть массив
000
010
000

И посчитать сколько раз такой массив попадается в массиве
000000
001010
000000
010000
000000
93 2604813
>>04755
что, блять?
94 2604822
>>04813
Что непонятно? Сколько раз
000
010
000
встречается в большем массиве.
Я не хочу рекурентно это решать. лол. Но боюсь придётся. Хотя я уже это задание отложил минимум на завтра, если ещё время после основного курса останется.
95 2604866
Господа, кто-нибудь работал с авторизацией через Госуслуги? Не могу понять как оно работает.
96 2604986
>>04755
Ты не можешь в chatgpt спросить подробнее ?

# Write code in python which uses numpy library to find occurences one linear numpy array into another bigger linear numpy array
import numpy as np

# Define the two arrays
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 4, 5, 6, 7, 8])

# Use the np.in1d() function to find the occurences
occurrences = np.in1d(arr1, arr2)

# Print the result
print(occurrences)

The result of this code should be [ True True True True True] , which indicates that all elements in arr1 are present in arr2 .
Screenshot124.jpg72 Кб, 750x630
97 2605009
>>04986
Спасибо, что в очередной раз показал мне какая это бесполезная хуита.

В целом, я уже придумал как решить без рекурсивного поиска всех соседних элементов. Такое решение требует больше кода, но и выполняться будет куда быстрее, динамическое программирование as is.

Но столько сейчас прочитать ещё нужно, на весь февраль делов, что тратить время на 3куи задания много совершенно не охота, зря взялся. Вот можно было бы просто искать массив в массиве то было бы очень просто. Но достаточно просто найти первую однушку, понять расположение, вертикально-горизонтально, прописать, что бы больше эти однушки не брать и посмотреть что бы всё было правильно и ровно
98 2605015
>>05009
хотя даже и не так уж и много кода
99 2605022
Подскажите, приложения в Джанге - это просто для удобства или есть какие-то правила, как разбивать проект по приложениям? Я просто читал, что типа приложение должно быть как бы полностью автономным и поэтому делал свой проектик, магазин типа, весь в одном приложении. Но сейчас смотрю один видос и там чувак импортирует модели из одного приложения в другое спокойно и ниче типа.
Вот у меня есть типа товары, пользователи и отзывы к товарам. Я бы сделал по приложению для каждой из этих сущностей и было бы удобнее, как мне кажется. Или херня? Ну типа отзыв относится к товару и у него есть автор. Не надо так связывать приложения?
Screenshot125.jpg71 Кб, 691x583
100 2605029
>>05015
А так уже работает, остальное дело техники, лучше разбить на несколько функций проверки только для каждого корабля отдельно
101 2605030
>>05029
Ну а в зависимости от горизонтально-вертикально и размера корабля добавить координаты в словарь и пропускать их, если снова попадутся.
102 2605033
>>05022
Правил нет, костыли как хочешь. Это просто философия, примерно как pep8
103 2605034
>>05033
Ну я понимаю, что работать будет, но типа как лучше? Если я этот проект буду показывать где-то, это не будет показателем того, что я не понимаю, как правильно делать?
104 2605038
>>05034
Лучше что бы каждое приложение было автономным. А если что то импортируешь из другого приложения, то лучше скопировать это, а не импортировать
105 2605047
>>05031 (Del)
Ты о питоне?
Если насчёт вакансий да. У меня знакомый программист пошел работать на стройку. Говорит из-за конкуренции зп маленькие
106 2605061
>>05050 (Del)
Тебя никто не заставляет учиться и вкатываться уж тем-более. Этот тред не о работе, в принципе.
107 2605067
>>05038
Приложение - это я имею в виду app в джанго, а не проект. Че я там модели копировать буду?
108 2605070
Какая же дрисня это ООП. Сморю иногда работы топовых западных погромистов которые с 4 лет кодирувают и с молоком мамки впитали эту корпоративную религию. И у них там даже в простой элементарной программе уровня калькулятора картина одна - десять тысяч абстрактных общностей, классы наследуют друг друга миллард раз и все вычеслнеия рзмазаны тнким слоем по всем этим сущностям а результаты они передают туда сюда обратно.

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

Вместо того чтобы просто взять твердую хорошую функцию обобщить несколько асбтракций и запихнуть в неё. Чтобы можно было на одном экране монитора нагляно видеть конкретный участок ПОЛНОСТЬЮ.

Пидоры блядь оопэшные! Аряяя!
Питон же изобрели как раз для того чтобы всё было супер просто до тупого просто. Нет не хотим просто хотим, хотим миллион абстракций, а потом будет с умным видом ходить и делать вид что это самый простой и читаемый вариант.
109 2605071
>>05067

>Че я там модели копировать буду



Если у тебя возникает такая необходимость, ты изначально неправильно разделил зоны ответственности между аппками.
110 2605075
>>05071
Ну вот у меня есть отзыв у товара, если у меня будет отдельное приложение для отзывов, то надо же будет указывать связь отзыва с товаром и импортировать модель товара. Например. Я прост тогда даже не могу особо представить чтоб в одном проекте были реально вообще независимые приложения.

А то я прост запутываюсь, у меня куча вьюх и сериализаторов для всего говна получается. Вот бы они как-то были распределены поудобнее по разным файлам.
111 2605077
>>05067
>>05038

Добавлю что импорты между приложениями это в целом нормально, но очень легко стрельнуть себе в ногу, если не знать SOLID
112 2605083
>>05080 (Del)
Берёшь и вкатываешься, кто тебе мешает.
113 2605088
>>05085 (Del)
Просто ты не стараешься искать
114 2605091

>Вакансий нет.

115 2605093
>>05091
1200 откликнулось.жпг
116 2605098
>>05093
1196 не смогли развернуть список без reversed на собесе.
1302109023.png102 Кб, 678x665
117 2605108
>>05098
а как это сделать?
118 2605110
>>05108
listcomps
слайс

как минимум 2 варианта сразу в голову приходят
119 2605115
>>05091
Дл джунов мало, и в выборке по Python Junior попадается много нерелевантных, с датасаенс, аналитикой, тестировщиками и вообще какой-то левой хуйнёй.
120 2605123
>>05110
листкомпс? без слайса с [::-1] или reversed не выйдет
121 2605125
>>05108
a = [1, 2, 3, 4, 5]
for i in range(0, int(len(a)/2)):
...a, a[len(a) - i - 1] = a[len(a) - i - 1], a
...
a
[5, 4, 3, 2, 1]
122 2605127
>>05115
Проблемы соевых джунов. Я не был питон джуном, а был мидл дата аналитиком, потом ради бабла решил перейти в фулл питон и прошел собес на питон мидла-фуллкека, пришлось потом ещё фронт учить.
123 2605128
>>05123
хотя можно же по range листкомпиться
124 2605129
>>05125
a, a[len(a) - i - 1] = a[len(a) - i - 1], a

test
125 2605130
>>05129
хех мда...
ну вы сами догадаетесь что там съедено
126 2605145
>>05128
по range подразумевалось, да
127 2605319
Я так понимаю что список в питоне это ресурсоемкий гибрид, который в конец вставляет за O(1) а в начало вставляет за О(n), а есть ли в модулях более экономные структуры?
Например, какой-нибудь модуль, который делал бы массив фиксированной длинный и потом заставал и засовывал бы в него всё что угодно со скоростью света O(1) и вообще все операции по индексам делал бы за O(1). Можно и самому написать, но вдруг есть уже на C ?
128 2605384
>>05319

>массив фиксированной длинный и потом заставал и засовывал бы в него всё что угодно со скоростью света O(1) и вообще все операции по индексам делал бы за O(1)



Это только через хэшмапу можно сделать, можешь использовать ordered dict.
129 2605393
>>05384
не прочитал про фиксированную длину.
https://docs.python.org/3/library/array.html
Уже есть, но сам понимаешь - жертвовать будешь тем что засунуть туда можно не всё что угодно
130 2605520
>>05319
array наверное
131 2605524
>>05319
ну и numpy очевидно
132 2605547

>хуямпи



хуямпай же. numpy это нампАй, а не нАмпи/нампИ
133 2605599
>>05022
По принципу отделяемости/отключаемости. Но это сложнее, чем писать монолит.
134 2605603
>>05319
Обычный dynamic array. Вставка в конец будет O(1) только если хватает capacity, иначе весь массив реаллоцируется в новом месте с удвоенным размером.

> в начало вставляет за О(n)


Нахера тебе вставлять в начало? Есть конечно deque, но она редко нужна.

> более экономные структуры


Куда ещё экономнее?

> все операции по индексам делал бы за O(1)


Так в списке и так O(1) для доступа по индексам. Именно поэтому вставка в начало O(n).
image.png163 Кб, 480x480
135 2605646
>>05098
Угу, сначала они просят не велосипедить и пользоваться готовыми модулями со встроенкой, а потом спрашивают вот такую хуйню на собесе.
Как называется эта болезнь?
136 2605649
>>05646
Потому что это как умножать в столбик.
Ты не будешь использовать это на работе, но строить ракеты тебя тоже не подпустят, если ты не можешь это делать
137 2605650
>>05649
А где я должен умножать в столбик, во внерабочее время? И толку мне от навыка умножения в столбик, если я последний раз делал это 30 лет назад и хуй без гугла повторю снова?
138 2605665
>>05646
нужно же как-то отфильтровать 1200 человек...

в конце останется доктор математических наук, чемпион ММА и полиглот ростом 195 и хуем 25 сантиметров
Screenshot126.jpg207 Кб, 1861x873
139 2605677
Всё, больше никаких заданий пока-что.
Добить фрейморвки и начать вкатываться постепенно. Думаю к лету управлюсь

И оказывается можно было проверить вхождение массива в больший, только через scipy
140 2605684
>>05646
Твоя болезнь называется тупость. Это задача на рассуждение, на ход твоих мыслей/действий, от тебя не просят написать какой-то хитровыебанный алгоритм экономный по памяти/времени. И если тебе мало вводных данных, то ты задаёшь вопросы.
Меня в яндекс на собесе просили написать свой контекстный менеджер. Я его до собеса никогда сам не писал, помнил только про методы энтер/экзит, и с первого раза без ошибки не написал, т.к. всегда пользовался встроенным контекстлибом.
141 2605716
142 2605786
>>05684

>твоя болезнь тупость


грубий ты

>меня в яндекс


еще и хвастунишка
на завод тебя надо на завод или на стройку раствор лопатой мешать, глядишь уму разуму поучишься у мужиков
143 2605846
>>05786
Что у тебя анусай-то так на атомы распался, мелкобуквенный? На заводе мизинец отпилил, не соблюдая ТБ? Никакого хвастовства, в яндекс не прошел, чему рад, а на стройке успел в детстве поработать, и на даче заливал цементом крыльцо, поэтому взялся за голову в 20 лет, чтобы там не работать.
144 2605861
>>05686 (Del)
Убрать галку "указан доход" и вместо 300 получить 2000+ было тяжело.
145 2605947
Что такое динамическое программирование?
На примере списка это когда не создаешь новый список как вспомогательный, а на исходном сопоставляешь элементы жонглируя из позициями?
146 2605948
>>05846
Значит еще раз тебя надо на стройку, чтобы не забывал что такое вежливость
147 2605951
>>05948
Т.е. когда чел называет интервьюера больным, который просит маслёнка перевернуть список, это норм. Когда его в ответ называют больным это невежливо. Хорошо, буду знать какие у нас заводчяне-строители двуличные.
148 2605958
>>05951
"Даже справедливо пролитая кровь лишь продлевает кровопролитие"
синий человекокошка из аватар 2
149 2605963
>>05958
"C волками жить по волчьи выть" (c) пыня, 25 лет попытов
150 2606071
Всем привет анончики
Подскажите сейчас реально вкатиться на джуна? Если да то на каких сайтах можно найти работу?
151 2606073
>>06071
А ты молоденький?
152 2606077
>>06073
18 лвл учу программирование несколько месяцев
153 2606094
>>05684

>Это задача на рассуждение


Какие к чёрту ещё рассуждения? Может мне ещё однонаправленный связный список написать до кучи или циклы без for и while? Вы там прогеров ищете или индусов головного мозга?
Хотя, судя по вот этому индусу >>05125 на собесах и прям всё плохо
154 2606132
>>06094
Но циклы с элементами перестановками труднее чем готовые функции
Там уметь надо отсортировать. А нажать к примеру сорт(про) любой дурак может.
Так что индус скорее ты
155 2606275
>>06132

>Но циклы с элементами перестановками труднее чем готовые функции


>Там уметь надо отсортировать


Пример в студию
156 2606300
>>06132
Давай лицо и унитаз, сейчас я тебя отсортриую.
158 2606413
>>06094
А что надо спрашивать? Какие типы в питоне есть? Или что такое гил? Или что такое арены, сколько весит инт, что такое опкоды и фрейм обжект?

>на собесах и прям всё плохо


Без тебя вообще пиздец, никто собес провести и код написать не может. Зато на дваче в /pr/ в питон-треде целая кузница непризнанных гениев, которые не достойны всей этой локальной чушни, сразу фаанг подавай.
Ты на работу берёшь человека, который в 4 из 5 случаев будет общаться с командой, ревью проходить или кого-то ревьюить, не бояться писать код в живую на камеру, и самое главное, брать за щеку него ответственность и отстаивать, почему он так написал. И важно не то, как он весь код на однострочники перепишет, а как он аргументирует, что это надо сделать.
Я лучше с дотошливой ебанашкой-индусом буду работать, чем с молчаливым закрытым себе_на_уме-прогером, который потом ещё через 3 месяца уйдёт, и за которым придётся всё переписывать.
160 2606485
>>06413
Ебать, а что за арены? В стдлтбу впилили квейк3?
161 2606571
>>06325
Задача буквально решается слайсом и максами. Причём, я более чем уверен, что есть модуль, реализующий этот алгоритм. А ещё, по-моему, подобная задача проходится в курсе дискретной математики, но не уверен.
Чего тут уметь-то надо?
162 2606601
>>06413

>А что надо спрашивать?


То, что нужно компании, а не тупые задачи из учебника по информатике. Например, если компания игровая, то пусть напишет простенькие крестики-нолики, морской бой или пятнашки в консоли (графику и самотесты прикручивать не нужно, просто голый код). Если компания разработчик ПО, то пусть хотя бы небольшой скрипт-парсер напишет или простенькую приложуху-преобразователь.
Хули вы как дети, а?

>Без тебя вообще пиздец, никто собес провести и код написать не может


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

> и отстаивать, почему он так написал


Потому что он индус, что тут ещё отстаивать?

>Я лучше с дотошливой ебанашкой-индусом буду работать


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

>который потом ещё через 3 месяца уйдёт, и за которым придётся всё переписывать.


Ну да, хули он с ебанашками не хочет работать и тупеть до их уровня. Лучше перепишем его однострочки в многостраничные функции, а то у индусов мозг взорвется, если они лишний раз мануал откроют
163 2606604
>>06571
Покажи как ты решишь ее без срезов и максов. Просто жонглируя элементами списка
164 2606605
Читаю туториал на официальном сайте. Дошел до 4 главы, до части где объясняется match и что-то я нихуя не понял. Автор будто бы делает отсылки на те вещи которые я еще не изучал, кортежи, маппинги какие-то еще какая-то хуйня. Мне забить хуй на то что я нихуя не понял и читать дальше? Он дальше объясняет это. Просто раздражает когда в объяснении используется материал который еще не известен мне, при чем автор не делает даже малейших попыток хотя бы базово на пальцах объяснить что это за йоба такая которую он использует в примерах и объяснениях.
image.png20 Кб, 476x381
165 2606608
>>06325
Сделал бухой за 10 минут, не понял как, но я такое на литкоде решал, там что-то про локальный максимум было
166 2606610
>>06605
читай всё, со временем картина сложится. тупли и дикты это база питона, мимо них в любом случае не пройдешь
167 2606612
>>06610
Вот сейчас читаю про функции. Автор пишет о каких-то символьных таблицах, которые как я понял влияют на область видимости переменных, но я это (вроде бы) понял только потому что я другие языки раньше изучал. Автор объясняя функции вводит еще много разной терминологии которую объяснить не удосуживается. Меня это раздражает и хочется вообще дропнуть туториал
168 2606617
Что с ебалом вкатуны?
169 2606620
>>06617
Моя первая зарплата была 28к, сейчас 250к
вкатился 5 лет назад
170 2606625
>>06620

>Что с ебалом вкатуны?

171 2606626
>>06612
так дропай. зачем мучать себя говном?
172 2606650
>>06626
Потому что по питону у меня нет хороших альтернатив. Например у жсников есть облюбленный гайд от Кантора, тогда как даже в шапке треда никаких особенных рекомендаций нет, есть только ссылка на кучу книг и большинство из них по старым стандартам. Приходится есть говно, но хотя бы свежее.
173 2606662
>>06650

>нет альтернатив


задай вопрос: почему? и сразу второй: зачем ты пытаешься выучить заведомо мертвое говно?
174 2606694
>>06601

>То, что нужно компании


Так компании нужен чел, который умеет думать, а не копипастить стандартную библиотеку.

>скрипт-парсер напишет или простенькую приложуху-преобразователь


Как компании поможет понять, что он за погромизд, если он импортнёт реквестс и сделает гет-запрос? Это и без кода можно понять, послушав его ход мыслей.
Я так в одно жирное место не прошел, хотя тестовое сделал и всё работало. Мне надо было написать парсер литкода с выгрузкой в файл и с минимумом зависимостей. До меня доебались, что не использовал стандартный csv (в требованиях не было), и что в хэдеры засунул много лишнего, типа достаточно было юзер-агента (у меня только с юзер-агентом не работало).

>У тебя задача отсеять индусов-макак


У меня задача взять человека в команду. Приходят в течение недели 3 человека, ещё 5 зарезервированы на следущую. Кто из первых 3 подходит проекту, его берут, остальные отлетают, даже если из остальных 5 были более умные или опытные.

>Если ты работаешь с ебанашками, то что это говорит о тебе, как прогере


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

>Ну да, хули он с ебанашками не хочет работать и тупеть до их уровня


Нормальные высказывают тебе/лиду/скрам-мастеру, что им не нравится, и все под всех подстраиваются или выстраивают новую систему. И потом уходят нормально, если по их мнению ничего не поменялось, или поменялось в худшую сторону. Но такие будут терпеть, начнут срываться, делать вид, что всё норм, перестанут эффективно работать и резко захотят уйти.
Я в начале пути сам был в такой ситуации, и с многими знакомыми тоже самое было. И виноваты в этом не ебанашки рядом, а они сами. На работу их никто не гнал. Про уровень коллектива, куда они идут, узнают на собесе и за первые 2-3 недели, и никто их не принуждает работать. Никто их не заставляет писать и поддерживать существующий говнокод. Любые предложения по рефакторингу функций/зависимостей/проекта/архитектуры только поддерживаются.
Но они считают себя по определению умнее. Им похуй на то, что они работают в команде над всем этим вместе, и что до них кто-то раньше это делал и потом свалил. Они ждут что за ними говно будут подчищать только ультрапомидоры-лиды, а остальные индусы-неофиты недостойны их.
И ваще какого хуя на проекте питон 3.8, везде уже 3.11. И хуле у нас фласк, когда везде уже фаспапи.
А потом в пулл-реквестях код с проверкой пустого списка через is not None, а не not, в именованных параметрах params, а не kwargs, в дто новое поле добавил, а в миграции нет. Зато с селери работал, а я нет, значит я анскильная ебанашка, а он будущий гвидо.
174 2606694
>>06601

>То, что нужно компании


Так компании нужен чел, который умеет думать, а не копипастить стандартную библиотеку.

>скрипт-парсер напишет или простенькую приложуху-преобразователь


Как компании поможет понять, что он за погромизд, если он импортнёт реквестс и сделает гет-запрос? Это и без кода можно понять, послушав его ход мыслей.
Я так в одно жирное место не прошел, хотя тестовое сделал и всё работало. Мне надо было написать парсер литкода с выгрузкой в файл и с минимумом зависимостей. До меня доебались, что не использовал стандартный csv (в требованиях не было), и что в хэдеры засунул много лишнего, типа достаточно было юзер-агента (у меня только с юзер-агентом не работало).

>У тебя задача отсеять индусов-макак


У меня задача взять человека в команду. Приходят в течение недели 3 человека, ещё 5 зарезервированы на следущую. Кто из первых 3 подходит проекту, его берут, остальные отлетают, даже если из остальных 5 были более умные или опытные.

>Если ты работаешь с ебанашками, то что это говорит о тебе, как прогере


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

>Ну да, хули он с ебанашками не хочет работать и тупеть до их уровня


Нормальные высказывают тебе/лиду/скрам-мастеру, что им не нравится, и все под всех подстраиваются или выстраивают новую систему. И потом уходят нормально, если по их мнению ничего не поменялось, или поменялось в худшую сторону. Но такие будут терпеть, начнут срываться, делать вид, что всё норм, перестанут эффективно работать и резко захотят уйти.
Я в начале пути сам был в такой ситуации, и с многими знакомыми тоже самое было. И виноваты в этом не ебанашки рядом, а они сами. На работу их никто не гнал. Про уровень коллектива, куда они идут, узнают на собесе и за первые 2-3 недели, и никто их не принуждает работать. Никто их не заставляет писать и поддерживать существующий говнокод. Любые предложения по рефакторингу функций/зависимостей/проекта/архитектуры только поддерживаются.
Но они считают себя по определению умнее. Им похуй на то, что они работают в команде над всем этим вместе, и что до них кто-то раньше это делал и потом свалил. Они ждут что за ними говно будут подчищать только ультрапомидоры-лиды, а остальные индусы-неофиты недостойны их.
И ваще какого хуя на проекте питон 3.8, везде уже 3.11. И хуле у нас фласк, когда везде уже фаспапи.
А потом в пулл-реквестях код с проверкой пустого списка через is not None, а не not, в именованных параметрах params, а не kwargs, в дто новое поле добавил, а в миграции нет. Зато с селери работал, а я нет, значит я анскильная ебанашка, а он будущий гвидо.
175 2606721
>>06608
очередной списака
вы прям как под копирку переменные обозначаете
куррент сум макс сум
ор
176 2606723
>>06617
у меня на работе зп 150к
но работа тяжелая типа заводчанина петровича
поэтому хочу вкатиться
но глядя на такие вот вакансии хочется вздернуться от безысходности особенно после утомления от учебы и решения задач
177 2606726
Селффикс >>06694

>Я с ними работаю, и параллельно других менторю


Вот я конечно гандон, написал и не проверил. На текущем месте в команде, с кем работаю, ебанашек нет, 1 чсв есть. Параллельно кого менторю, 2 ебанашки были, 1 отвалилась, 2 эволюционировала.
image.png22 Кб, 1421x180
178 2606730
Почему он тройку ставит в конец? Ведь True - это единица, значит он просто добавляет к тройке единицу и список бы не изменился, потому что 4 все ещё меньше 5.
179 2606735
>>06730
Потому что у тебя все остальные False, вон он и ставит её в конец.
image.png22 Кб, 1412x105
180 2606736
>>06735
Ааааааа, я думал он по дефолту добавляет к текущему значению. То есть нужно вот так. Всё, допёр.
16749869022970.png651 Кб, 1280x720
181 2606739
>>06650

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



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

я, например, годно прокачался, пройдя "An Introduction to Interactive Programming in Python" на курсере. мне очень понравился этот курс, и я выучил на нём тонну всего. но никогда не слышал, чтобы кто-то рекомендовал этот курс. сам рекомендовал его многократно, пока мне не надоело

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

https://practicum.yandex.ru/backend-developer/

попробуй этот курс от яндуха (хотя я не пробовал). есичо, это я нашел в гугле, на верхней строчке по запросу "курс python"
182 2606748
>>06617
>>06723
Потому что курсы-двухнедельки сильно обесценили профессию, клепая необходимые отрасли «кадры» огромными миллионными масштабами. При таких скоростях качество «кадров» едет к плинтусу. На нормального программера же надо учиться лет 9–10 (два–три класса школы, пять института, потом два-три года рабочей практики на производстве).

А выпускают таких долбоёбов, которые кроме гугла с индусокодом и метода пузырька нихуя не знают. Ни методов программирования, ни алгоритмов, ни шаблонов проектирования, ни паттернов. Услышали про зарплаты, заучили курс на степике — готов программист-помидор.

Много кто тут в двух словах объяснит абстрактную фабрику, паттерн моста или цепочку обязанностей? А чем функтор от монады отличается? А перечислить топологические алгебры?

А зарплату 300ккнаносек все хотят. Но предложить таким кадрам что-то больше зарплаты кассира на начальном этапе невозможно. Бизнес не поймёт. Кадр не окупает себя, его ещё много лет учить. Тратить на него ресурсы.

То есть, рост зависит только от интеллекта. А его у 80% населения планеты всегда будет не хватать.
1308595681.jpg30 Кб, 320x320
183 2606750
>>06748

>А чем функтор от монады отличается?



вот тут перетолстил
184 2606760
>>06748
нормальными программистами рождаются. остальные 95% просто пользуются их наработками, пусть то рак с двухнедельного курса или сеньёр-помидор с 20летним опытом
185 2606804
>>06748

>курсы-двухнедельки сильно обесценили профессию, клепая необходимые отрасли «кадры» огромными миллионными масштабами


кадры клепают на айти кафедрах в некоторых институтах. а на курсах зашибают бабло на долбоебах. к обучению это никакого отношения не имеет.
186 2606891
ляя написал петик на флаксе, теперь от штанги рвотный рефлекс просто, а мне по этой хуйне еще курс допроходить, бесплатно получил с госуслуг, если дропну должен стоимость курса отплатить
187 2606917
>>06891
Оплатить курс если не прошёл это какой-то новый вид лоховства?
188 2606923
>>06917
это распил бюджетного бабла, гугли госуслуги цифровые профессии
189 2606945
>>06721
Кокой ужос! Люди называют переменные самыми очевидными и понятными для чтения названиями!
190 2607177
>>06721
Двачую, все переменные у меня это последовательность Il знаков
типа
Il = [23,45,85]
l = 'hello'
lIlllIllI = func(llIIl)
Стикер512x512
191 2607230
чому все заполонили курсы для вкатунов, а те кто например уже вкатился и хочет поизучать всякие йобы, вроде мультипроцессинга, мро, инит_субкласс и прочие абстракции сосут бибу?!
192 2607287
>>07230

>нет курсов


сделой
193 2607323
>>07230
вкатунов десятки тысяч, вкатившихся лишь сотни
194 2607392
>>07230
Ну без англюсика тут никуда.
195 2607461
>>07392
на англюсике тож оч мало
sshot-759.jpg67 Кб, 960x511
196 2607500
>>03452 (OP)
Одна программа требует Пайтон 3.10 а у меня Вин 7 официально дальше 3.8 двинуться не могу

Нашел какой то то форк, https://github.com/NulAsh/cpython не знаю что это.
Вопрос как это устанавливается?, запускаю setup.py ничего не происходит
197 2607522
>>07500
слева в releases скачай установщик или что там они предоставляют
16756724948580.png112 Кб, 977x758
198 2607530
Подскажите как вот так в фурифоксе переменные получить, что за команды: >>2600918 →
200 2607704
Имеет ли значение кю на кодеварс для оценки своей программисткости? Или это просто зыбкая вещь в себе, опираться на которую не стоит и которая не дает представления о твоих реальных возможностях для реальных задач?
Вот я максимум решал задачи 5 кю, если они легкие конечно. Но иногда жестко туплю даже на 7 кю. Понимаю тут просто проблемы с формированием рейтинга сложности. Но я думал что все это начинающие до 1 кю, а даны это типа профи прогеры. Сегодня узнал что один чел, который работает прогером максимум 4 кю решал, а дальше говорит ума не хватило. И говорит чтоб я там особо не зацикливался на подобных сайтах. А где тогда мне практиковать программирование? И чем определять свой уровень навыков?
sshot-756.jpg119 Кб, 981x826
201 2607724
>>07522
Спасибо. Слепошарый я
202 2607765
>>07704
Кодварсы и прочие литкоды это дроч алгоритмов, программирование помимо этого состоит из грамотной компановки кода, структуры классов, паттернов и т.д. Причем очень часто случается так, что на реальной работе ты за год максимум пару раз применишь парочку хипов. И это только вершина айсберга, есть ещё архитектура, настройка развертывания, правильная организация хранения данных и ещё кучу всего.
Как это попрактиковать? А никак кроме реальной работы. Сначала читаешь книжку или статью, а потом делаешь и желательно, что бы кто то более опытный тебя проверил.
203 2607768
>>07704
Я бы сказал 4киу достаточно для среднего программиста.
1-2 это уже олимпийский уровень.
3 где-то посредине и зависит от задачи. То есть просто без знаний матана возможно не стоит даже лезть в некоторые задачи или просто тратить на это время.
204 2607779
>>07768
Ну и когда начинаешь решать задачи 3+киу уровня, то даже не думай начинать велосипедить и пытаться решать костылями. Сразу же гугли алгоритмы, которые подходят для решения этих задач.

Это, конечно, стоит делать и для задач попроще, но на 4-5 ещё можно справиться костылями, на третьем уровне уже жопу себе ими порвёшь
205 2607824
Сап питонач. В джанге существуют сообщения об ошибках формы https://docs.djangoproject.com/en/4.1/topics/forms/#rendering-form-error-messages Объясните, пожалуйста, как отрендерить результат {{ form.non_field_errors }} и {{ form.name_of_field.errors }} в шаблоне? Прямо на уровне хеллоу ворлд. Возможно, проблема в том, что я не могу понять, как вызвать form.errors или состояние form.is_valid() == False, т.к. форма даже не даёт отправить невалидные данные. {{ form.errors.as_data }} возвращает пустой словарь.
206 2607857
>>07845 (Del)
У нас вакансия – ебать твою мать. Вопросы?
207 2607860
>>07845 (Del)
Пытаюсь выкатиться из врача участкового терапевта ебал рот лечить людей. Поэтому учу питон
1589290715558.png44 Кб, 275x213
208 2607895
>>07724
ты хотя бы лево с правом не путаешь
209 2607905
>>07824
Вопрос снят. Ебучие словари переменных переписывали форму в дефолтное состояние. Пойду посру.
210 2607951
вот у меня есть переменная, у нее значение 1

я ее вывожу, он мне пишет True вместо 1

я потом увеличиваю ее на 1, и он мне пишет 2

че с этим делать? как его заставить сделать ее числовой всегда?
211 2607953
>>07951
не, значение у неё не 1 (int), а именно boolean

выводи или int(peremennaya) или при назначении переменной, где на неё поступает буль, конвертируй в инт
212 2607955
>>07951
ну скинь свой код, что бы понять, что у тебя за фигня. И bool это тот же инт - 0 и 1.
фитотерапию 213 2607958
>>07953
>>07955
спасибо, попробую) у меня код на ренпае, так что я стесняюсь не покажу
214 2607961
>>07958

>у меня код на ренпае



о, братан. я тоже игры делаю на питухоне!
16732770808610.jpg2,5 Мб, 2700x3950
215 2607968
216 2608080
Как [1,2,3,4,5] отсортировать по [12, 0, 7, 1,4] и проучить [2,4,5,3,1]?

Без sorted(), только используя for loop.
dsfsdf.PNG16 Кб, 679x480
217 2608098
218 2608171
>>08098
ебать, вот это индус на максималке
219 2608368
>>08171
Почему индус? Он использует алгоритмы как профи
16468147926330.gif831 Кб, 512x288
220 2608394
221 2608396
>>08171
>>08394

>мам я тралю двач!111

222 2608397
>>08368
Профи бы заебашил квиксорт вместо вставки, а чатик нужно специально об этом попросить, и то он в половине случаев пишет квиксорт с модификациями неправильно.
223 2608399
>>08397
Неосилятор ты?
Именно на таких примерах можно понять умеет человек алгоритмически мыслить или он тупая макака кнопкодавка
224 2608599
Создаю свою ОС на питхоне, какие подводные? Так же пишу антивирус к ОС тоже на питхоне.
225 2608625
>>08599
придумал непрактичный проект -> не получаешь эмоционального одобрения от общества -> выгорание -> пот -> моча -> говно

_мимо_захожу_на_гитхаб_подрочить_на_свои_лайки_
226 2608627
>>08599
Сейчас есть единственная причина писать свою собственную ОС и ее уже пишет Google - https://github.com/google/gvisor/
227 2608704
Какая разница между for i in s и for i in range(len(s))?
228 2608709
>>08704
Большая.
229 2608715
>>08399
Король обезьян, ты?
Именно на таких примерах можно понять, стоит ли брать чела в команду или придётся тратить время на его обучение.

Но вы можете и дальше устраивать конкурсы на самый странный велосипед, а ты лично ездить на нём без сиденья. Ну а хули эти кнопкодавы сиденьями пользуются, верно? Ведь только без сиденья можно понять зачем оно нужно и как им пользоваться.
Руль-то, я надеюсь, уже изобрели? Или поворачиваете наклоном центра тяжести, пока еблом асфальт не рихтанёте? Ну чтоб алгоритм езды на велосипеде лучше понимать.
230 2608719
>>08704
В первом случае ты перебираешь элемента списка s
Во втором случае ты просто идёшь по счетчику range, а не по списку s
231 2608741
>>08704
разница, что используй enumerate
232 2608777
>>08741
Кстати, если нужно что-то сделать с несколькими элементами массива (например, сравнить с соседями), я предпочту использовать range(len). Потому что do_smth(s[i - 1], s, s[i + 1]) лучше выглядит, чем do_smth(s[i - 1], elem, s[i + 1]).
233 2608797
>>08777

молодец, одобряю

гвидо
16756535019600.jpg3 Мб, 2432x3648
234 2608825
>>08080
Бамп
235 2608878
>>08397

> Профи бы заебашил квиксорт


ты хотел сказать тимсорт
236 2608883
1) Аноны, а функции внутри функций это нормально по ПЕПу ?

2) Это не отнимает время интерпретатора на выполнение и обработку?

А то совершенно логично некоторые функции внутри других функций держать по смыслу, но как-то некарсиво.
237 2608895
>>08883
Если надо - делай. Если не надо - не делай.
238 2608898
>>08883
нормально. время отнимает, ведь функция определяется с нуля каждый вызов. поэтому реальных юзкейсов мало
239 2608903
>>08883
использую, когда нужно внутри функции многократно обработать какую-то локальную же переменную. и если при этом нет упора в производительность
240 2608939
>>08883
Если говорить про перфоманс, то имеет смысл только в замыканиях
241 2608954
>>08883

>функции внутри функций


Ты хотел сказать ДЕКОРАТОР?
photo5424779682282325465y.jpg110 Кб, 1234x1280
242 2608957
как правильно называть переменные?!
243 2608962
>>08957
hui, pizda, jigurda, karasik, pook, pok, foo, bar
Когда этот пул будет исчерпан добавляешь номер pizda_2, karasik_10
Стикер255 Кб, 436x435
244 2608968
>>08962
я спросил правильно, а не как мы на работе сейчас их называем
245 2608979
>>08954
нет, он хотел сказать функции внутри функции
246 2608981
>>08957
кратко и по делу

лучше всего когда в имени переменной два слова
но иногда имеет смысл назвать покороче
247 2609115
>>08704
тебя это ебать не должно
248 2609118
>>08957
pravilnaya_peremennaya_dlya_znacheniya_pook

Так рекомендуют, но в реальности пишут pook_1, srioyonk_2
249 2609216
>>08704
Я за две недели в питоне так понимаю, что второе используется, когда нужно че-то сделать с первым и последующим элементом. Типа array = array[i+1] и если это условие будет в цикле for i in array, то цикл будет выходить за пределы и не будет компилироваться. А в цикле for i in range(len(array)) нет. Также можно вместо range(len(array)) юзать for i in enumerate(array).

Если это все хуйня, поправьте, пожалуйста, сам хочу разобраться уже наконец-то
250 2609261
>>09216
Фор это обертка итератора, если итерировать итерируемые обьекты они возвращают итерируемый элемент. А функция рэндж просто создает "пустой" иетратор из чисел, если нужно просто итерировать определенное кол-во раз. а сам итерируемый о-кт не нужен.
251 2609272
>>09261
Правильно я понимаю, что в цикле:

for x, i in enumerate(array)

если мне надо работать только с индексами элементов массива, то я юзаю i, а если с самим элементом, то юзаю x?
252 2609284
>>09272
Да только всё наоборот.
253 2609286
>>09272
если тебе надо работать только с тем или другим, то ты не юзаешь enumerate, а используешь for x in arr или for i in range(len(arr))
enumerate если тебе нужно и то и другое:

for i, x in enumerate(reasons_to_die):
print(f'{i}. {x}')
254 2609289
>>09286
>>09284
Вьехал, спасибо, большое.
image.png16 Кб, 893x418
255 2609650
Увидел такой пример с лямбда функцией. Не пойму как работает x(i) и как она взаимодействует с функциями из списка.
Где почитать и посмотреть примеры использования лямбды? Чтобы не простые типа а<10 или а + б. А что-то посложнее, чтобы почувствовать нормально чо это такое
256 2609652
>>09650
Всё понял, разобрался.
257 2609838
>>09650

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

допустим, есть несколько дат в формате (день, месяц, год)

> (1, 5, 1970), (10, 5, 1980), (5, 6, 1985)



> sorted(dates)


даст [(1, 5, 1970), (5, 6, 1985), (10, 5, 1980)]

а мы хотим отсортировать по году. поэтому:

> sorted(dates, key=lambda d: d[2])


даст [(1, 5, 1970), (10, 5, 1980), (5, 6, 1985)]

лямбда это тот же def, просто экономит строчку и не создает переменную с именем функции. можно и так сделать:

> def get_year(date):


> ____return date[2]


>


> sorted(dates, key=get_year)

Fncaf1-X0AMKc6Q.jpeg156 Кб, 1195x2048
258 2610261
Анончики, какой язык считаете разумным учить в дополнение к питону или как второй язык вместо питона? Очевидные варианты: JS (тоже скриптуха, можно брать фулстак работу), голованг (много бекенд разрабов свитчатся в него и говорят что норм, вакух много вроде как), сишечка (писать расширения для питона например, писать прошивку для умного чайника, да и вообще это чед-язык)... что ещё?
259 2610264
>>10261
php, html, css
260 2610273
>>10261
C или C++ или Rust. Для низкоуровневых интерфейсов короч, где питоны, жсы и прочие голанги не могут ничего.
image.png6 Кб, 434x81
261 2610277
>>03452 (OP)
аноны, я тупенький мб
посмотрите, пожалуйста, я не могу понять:
делал упражнение, типа, ввод и поиск наибольшего и наименьшего
я долго не мог понять, чойта не фурычит, сдался, посмотрел подсказку
оказалось, моё решение отличалась лишь одним: я сначала искал наименьшее, а после наибольшее
если же сначала искать наибольшее, а после наименьшее, то всё фиксится
почему если поменять пикрил if'ы местами, то результат тотчас меняется?
скинул код и пример ввода-вывода
https://pastebin.com/9tjuR5mg

пробовал рисовать цикл на бумаге, всё равно не понял
262 2610278
>>10277
при условии, что цикл скушал число 100 после 5, он всё равно считает 5 наибольшим
мне просто хочется понять, почему, если я меняю циклы местами, то всё фиксится, какая тут логика
263 2610281
>>10277
>>10278
не, я тупой, переставил чета, вообще всё сломалось, он даже при перевороте кушает числа и словно выплёвывает их, не делая их большими и меньшими
264 2610283
>>10277
>>10278
>>10281
короче, понял, если вместо
int(i)
написать
i = int(i)

то всё фиксится
почему? какая разница?
полный код прикреплён выше
265 2610295
>>10283
Потому что int(i) возвращает целое число, преобразуя строку i, не меняя при этом самой переменной i. input() по умолчанию возвращает тип str, поэтому в i и в smallest/largest В твоем коде сравниваются строки, строки сравниваются лексикографически, поэтому 5 больше 100.
изображение.png11 Кб, 489x273
чайник 266 2610299
помогите, пожалуйста.

Как узнавать "айди страницы"? то есть допустим, на странице есть id = 'media-{НОМЕР АЙДИ}'. я не понимаю куда мне нужно впихнуть еще один цикл for (или даже не через него) чтобы тупо получить числа от нуля до (допустим) 30. КАК????
267 2610302
>>10295
понял, спасибо большое, проверил, да, там str оставался
спасибо ещё раз
268 2610312
>>10299
Регулярным выражением или индексацией если айди всегда на одной и той же позиции
269 2610313
>>10312
можно подробнее?
57879834579834.png7 Кб, 293x169
270 2610320
>>10313
Тебе из строки нужно твоё число доставать, так ведь?
чайник 271 2610323
>>10320
да не, по сути, я бы мог и page для id юзать.. но я пишу скрипт, который парсит комикс. Через selenium. Загвостка в том, что я ищу по ID в классе. (точнее, просто по id = 'image-0') . так как там структура такая - /page/1 и page/0 это одна и та же страница... Тот пикрил показывает мой код, типо ссылки генерируются с помощью for цикла. Но я не могу использовать значение page для id, так как на первой странице используется image-0 а не image-1 (соответственно на 2 странице используется image-1) поэтому я и попросил помочь впихнуть еще куда нибудь цикл.
272 2610338
Очень нравится питон своей простотой, но ваки нормальные найти как питон дев нереально. Насколько тяжело после питона вкатиться в PHP? Бтв есть небольшой опыт на плюсах, мб это поможет?
273 2610344
>>10338
php проще питона осваивать в целом, потому что он более узконаправленный изначально.

А если освоил более-менее один язык, то другие ещё быстрее пойдут, потому что многие концепции одинаковые или крайне похожи.
image.png117 Кб, 731x253
274 2610379
275 2610485
>>10323
for page in range генерирует значения для page от 0 до значения в range. просто убери page += 1, который прибавляет для всех значений 1, и будет у тебя начинаться с 0
276 2610905
короче, нашёл интересный сайт
визуализирует код по шагам, можно ползунок перемещать и стрелочки показывают что конкретно сейчас происходит в программе

https://pythontutor.com/cp/composingprograms.html#mode=edit

у меня вопрос, а такое, но только в IDE имеется? пробовал дебаг в Visual Studio Code жать, но чёта он сразу [начало->финиш] делает, без возможности по шагам идти

мимо >>10277
277 2610922
>>10905
Как он сделал дебаг а странице из хтмл? Это сложно? Как достичь такого уровня?
278 2611056
Двач, где сейчас можно бесплатно разместить Джанго приложение на внутреннем поддомене чтобы оно хотя бы недели две покрутилось? Хероку вроде бесплатную подписку отменил?
279 2611060
>>11056
Рейлвей попробуй.
280 2611131
>>10379
Да ето так
281 2611260
Тема такая. Дайте подсказку или умные мысли.
В unittest в ините setUp выполняется некие sql вещи, которые тестовую бд заполняют. В tearDown откатывается. Естественно это занимает дохуя времени. Хочется хотя бы как-то на уровне старта класса сделать инициализацию. А после завершения работы класса - удалять все. Но вот как обновлять таблицы, которые в ходе теста были изменены? Есть идеи какэто иначе можно сделать?
282 2611282
>>11260
Либо делаешь всё в транзакции и ролбекаешь.
Либо мигрируешь базу, потом делаешь темплейт из нее и перед каждым тестом создаёшь чистую из темплейта и в конце теста дропаешь.
283 2611341
>>03588

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


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

>Тесты должны запускаться после того, как сервис задеплоился или до?


Если коротко, то по ситуации и в зависимости от архитектуры и соглашений на конкретной галере. По-хорошему до деплоя надо хотя бы убедиться, что оно тебе ничего не ломает, но, скажем, GitHub Flow какого-то Staging не подразумевает вовсе, они катают всё на живую (не представляю, как! Но ведь катают).
А если у тебя банковское приложение, то у тебя только контуры тестирования считать устанешь.
284 2611343
>>11282

>в транзакции


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

>мигрируешь базу


Примерно так и выполняется сейчас. И это много времени, почти половину времени тестов занимает
285 2611344
>>03886
По такому описанию вангую, что он заподозорил тебя быстро, но дал ещё несколько попыток. Это логично: никакой бот не страшен, пока он делает что-то 1-5 раз.
286 2611363
>>04125
Во-первых охлади своё трахание.
Глубокий вдох, глубокий выдох...
Итак, когда мы прозреваем дзен, видим два наиболее вероятных варианта: либо авторы пайчарма обосрались. Либо (и это более вероятно) обосрался ты и, например, ошибка происходит до стоп-точки.
В обоих случаях спасёт запуск пошагово. Возможно, поможет стоп на первой значимой строке.
Последнее время использую VS-Code, запустил пичарм, посмотреть ,как оно там работает, но эта сука не нашла системного питона и не смогла создать venv сама. Разбираться влом.
287 2611416
>>10905
Лезет на бек, очевидно.

> у меня вопрос, а такое, но только в IDE имеется?


Это из иде и взять.
288 2611418
>>11416
взято
289 2611557
>>04125
значит у тебя ошибка до красной точки.
290 2611596
>>07230
На вкатившихся сложнее делать бабло, они знают, чего хотят и не будут жрать, что дали. Потом, как уже было сказано: вкатавшихся меньше, но, что ещё существеннее, вкатившиеся либо никуда дальше не катятся и сидят формоклёпами на одном освоенном фреймворке, либо раскатываются в таком количестве направлений, что не перечислишь. Смотри, ты сам сказал:

> мультипроцессинг


> мро


> инит_субкласс


> прочие абстракции


Теперь скажи, сколько народу потенциально возьмёт курс по мультипроцессингу? А сколько возьмёт его на конкретной площадке?..
Вот и выходит, что всё не слава яйцам.
Меня более-менее спасает ютуб с разборами интересных кусков и официальная документация. Но я тоже не лезу слишком глубоко, у меня другой профиль.
Впрочем, прямо сейчас попался баннер с этим:
https://practicum.yandex.ru/async-python/
Так что не сказать, что прям вообще ничего нет.
291 2611598
>>07500
Поставь WSL и запускай пистон в нём.
Мимо Линукс-господин.
292 2611602
>>11596
ну на яндексе курсы норм. но они и рассчитаны не для заводчан и домохозяек, что захотели вкатиться, а для студентов или тех, кто уже вкатился, но и дальше хочет изучать
Стикер512x512
293 2611655
Как сохранить файл в виндусе в кодировке "utf-8" если в самом файле нет особых символов?

line = 'hello'
....with open('file.txt', 'w', encoding="utf-8") as file:
........file.write(line)

Если открыть этот файл в блокноте там кодировка ANSI будет, если line = 'привет' то кодировку нормально сохраняет в "utf-8", но мне нужно чтобы в любом случае было "utf-8"

Пробовал line.encode("utf-8") и потом сохранять файл в бинарном режиме 'wb' - всё равно ANSI

encoding="utf-8-sig" решает проблему, но меня это сраный символ в начале файла бесит, костыль какой-то.
Как заставить эту сраную ОС не решать за юзера в какой кодировке что сохраняеть, если это ЯВНЫМ ОБРАЗОМ УКАЗАНО?

Жопа горит.
294 2611663
>>11655
чел. это блокнот кодировку автоматически определяет и обсирается. просто смени руками на utf-8 и убедись, что всё работает
Стикер512x512
295 2611666
>>11663
Бля точно. Придется сраный BOM в начале файла оставлять. Потому что технология такая
1 Скрипт сохраняет файл.
2 Иногда пользователь из виндуса вносит туда дополнения через блокнот
3 Скрипт опять открывает файл и читает.

Из за того что блокнот, как оказалось, не может понять что перед ним файл в кодировке utf-8 (если в файле нет особых символов) то после того как пользователь внес туда строку с кирилицей и сохранил он и сохранится не в той кодировке - и когда программа опять пытается открыть в utf-8 получается обсер.
296 2611892
Везде используется подобный простой код для проверки прокси, прокся рабочая чекал в браузере, а вот почему в питоне нифига не работает этот код в чём причина? Всегда Proxy does not work.

import requests

proxies = {
"http": "http://47.243.86.12:443",
"https": "https://47.243.86.12:443",
}

url = 'https://www.youtube.com'

try:
response = requests.get(url, proxies=proxies)
print(response.text)
except:
print("Proxy does not work")
297 2611903
>>11892
Бля, ну ты посмотри сначала, какой эксепшн тебе кидает.
298 2611916
>>11903

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


[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:997)
Глянул здесь:
https://qna.habr.com/q/1166628
С виндой что-то связанно. Попробовал вот так и на линухе работает:

proxies = {"http": "http://47.243.86.12:443"}
url = 'https://www.youtube.com'


Пришлось выкинуть https из проксей, хотя урл запрашивает ютаб именно по хттпс. Под виндой один хер не работает. Не понятно почему, хотя сейчас нет времени сильнее вникать.
299 2612032
>>11916
Да тебе похуй протокол исходного сайта, можешь хттпс через хттп проксировать. Важно, как настроеная сама прокся.
300 2612043
А по какой такой причине у Питона нет офф. документации на русском, когда даже какой-то там турецкий есть?
image.png424 Кб, 660x440
301 2612056
Аноны, а правильно ли я понимаю, что если у молодого питониста с математикой хуёво то дорога в веб? Во всякий там дата анализ даже не стоит суваться если по математике всегда был тройбан?

мимо питухон вкатун 1.5 месяца стажа
302 2612087
>>12056
математика макакам не нужна, асяким дата саентистам примитивных знаний на уровне матриц хватит, матан вообще мимо (матан в смысле матанализа)
303 2612090
>>12056
data-science это такая хуйня типа мерчендайзера.

Просто красивое название за которой любоая хуйня может скрываться. Маматика уровня матана там обычно не нужна
304 2612104
>>12056
Никому не нужны сейчас вкатыши-питонисты. Проще выиграть в лотерею чем вкатиться.
305 2612110
>>12104
Не забудь ещё написать что чатгпт скоро всех заменит
1674547140873441.png402 Кб, 512x512
306 2612123
>>12110
Найди вакансию для вкатуна на пихоне в своей мухосрани.
307 2612199
С интересом решал задачки до циклов. Ничего не понимаю что писать в этой хуйне
308 2612228
>>12199
А где можно найти задачки до циклов? Мне казалось if while for проходят в первую неделю вката, разве существуют какие-то задачки где даже это знать не надо?
309 2612286
>>12228
сначала решаешь задачки на циклы, а потом во всех задачках за циклы будут бить по рукам
310 2612304
>>12228
курс на степике прохожу, там простенькие на работу со строками, if
image.png141 Кб, 675x106
311 2612326
>>03452 (OP)
Получил вот такой скрин от чувака на вопрос о том, как часто для каждого файла исполняется cron. Чувак куда-то съебал и больше не отвечает. Как понять по этим цифрам слева периодичность cron-а?
313 2612358
>>12326

> # m h dom mon dow command


Попробую так пояснить:
каждую минуту крон проходит по всем тапскам и смотрит, не нужно ли запустить что-то сейчас. Если у кого-то совпадает время по маске с текущим, он выполняет команду.
Т.о.
Первая команда выполнится, когда: dom=13, h=10, m=0, т.е. 13-го числа в 10:00, раз в месяц (в любой месяц и в любой день недели), вторая и третья, аналогично, 13-го числа в 10:15 и 13-го числа в 10:30;
Четвёртая - когда dow=1, h=10, m = 45, то есть в любое число любого месяца, по понедельникам в 10:45, пятая - по понедельникам в 11:00.
image.png34 Кб, 492x369
314 2612359
315 2612385
316 2612531
>>11341
Добавлю, что если у тебя там в поде окажется какой-нибудь инит-контейнер, который ебошит миграции, то только, блджад, попробуй его нормально не проверь в контролируемой среде, ждёт тебя клизма трёхведёрная с патефонными иголками.
317 2612562
>>11655
>>11666 лол, трипл-сотона, бг-г и всё такое
Лень проверять, но вангую, что, если ты не укажешь вообще кодировку, то скрипт сам разрешит все конфликты. Разве нет? Пробовал?

>>11602
И это правильно. Ящитаю.
Правда, у них есть и курсы для полных нулей (по утверждениям из рекламы).
318 2612844
>>11363
>>04125
я так с вскод ебался, со сторонним пакетом, а оказывается нужна была настройка "justMyCode": false
может и в пичарме надо такое?

>>04508
что такое серьезный проект?
в свое время инстаграм был написан на джанге кажись

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

>>07704
я тоже в свое время остановился на 5кю, звезд с неба не хватаю, но и код пишу кажется приемлемый

>>07845 (Del)
вакансии есть, но не для вкатунцов. я пару лет назад искал джуна, людей без вышки даже не смотрел. отсобесил 3 крутых челов, взяли очень умную тяночку, делает сложные задачи, быстро научилась. зачем мне рисковать и брать вкатунца - кота в мешке.

5 лет 4к евро джангист
319 2613082
>>12562

>И это правильно. Ящитаю.


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

Поэтмоу после прохождения первых курсов, советую заглянуть именно на leetcode и порешать там хотя бы все задания на easy.
И решайте не костылями, а сразу же ищите видео индусов с решениями, потому что именно там вы найдете куча простых алгоритмов и техник, которые упустили при прохождения просто курса. Но понятно дело, не просто копируйте, а разбирайтесь, что они там вообще делали и зачем.
320 2613224
Застрял на декораторах. Нифига не могу запомнить ничего по ним. Аж спать охота
321 2613233
>>12844

>инстаграм был написан на джанге кажись


На этапе стартапа. Потом они джангу перелопатили до состояния, что уже не похожа на джангу.
322 2613238
>>13224
Тебе для начала достаточно знать, как их юзать.
Как писать и зачем это уже довольно специфические задачи не для всех.
image.png5 Кб, 469x94
323 2613255
играюсь просто, но почему ошибку не печатает, понять не могу?
324 2613256
>>13238
почему один ставит собачку то ретерна, а другой после? ничего не понял
325 2613267
>>13255
Оно и не должно печатать, там нет конкретной ошибки, это ошибка assert.
Можешь делать assert 1 == 2, "hui"
326 2613294
>>12043
Возьми да напиши.
327 2613298
>>10905
Так ты стопточки для дебага расставь ебать.
image.png24 Кб, 563x420
328 2613303
Помогите с декораторами и аргсами.
Хочу чтобы функция через декоратор выводила список экспонент произвольного количества переданных аргументов
329 2613305
>>13298
Полустаночки, ёпта.
330 2613320
>>13303
Ну так сделай. А ты чего за хуйню наворотил?
331 2613366
>>13320
Вот не пойму как сделать
332 2613417
>>13298
ебать это имба, спасибо
я листы а4 разрисовывал
image.png26 Кб, 521x522
333 2613426
>>13320
Щас правильно?
334 2613441
Питоны, а че с pymentor.by? Хули не заходит?
335 2613442
>>13233
А ещё дальше переехали на Фласк. На чём сейчас - ХЗ.
336 2613446
>>13256
Ты, кажется, неправильно понимаешь, что в этих случаях декорируется.

Декорируется то, что объявляется на следующей за декоратором строке.

А ретурны вообще от других функций могут быть.
337 2613450
>>13303
>>13426
Ты объявляешь функцию внутри функции... Это странно.
image.png105 Кб, 1152x847
338 2613454
>>13446
>>13450
Учусь по ютубу. Делаю как там сказано

Почему тут пустота в консоли? Там ведь пустой принт выводится?
Почему не выводится время мое? она ведь ведь в декораторе должна показываться?
339 2613461
>>13454
Ты чо совсем тупой?
340 2613463
>>13461
да. объясни
341 2613466
>>13463
У тебя обертка закоментирована # а обертки wraps в коде нет, и даже если бы была она бы не обернулась по первой причине.
342 2613469
>>13466

>обертки wraps в коде нет


А вижу, быстрофикс, всё равно на результат не влияет.
343 2613473
>>13469
Так я же выше обернул её. Чтобы описание через фанктул вывести. Но не могу понять почему время не показывает
344 2613476
>>13473
Перечитай
>>13466
345 2613482
>>13476
Пиздец, тебе дауну конкретно указали где у тебя ошибка, а ты вместо того чтобы подумать над этим ещё и огрызаешься. Ну ты блядь и свинья. Помогай после такого вкатунам бывшим баристам и поварам.
346 2613483
>>13482
Вы наверное это мне? Новичку, который учит декоратор? Или все же помогатору? Кому верить? На ютубе все так я делаю как на ютубе
347 2613484
Аноны, какой лучший модуль для работы с .xlsx ?
348 2613485
>>13484
openpyxl
349 2613504
>>13485
А чому не пандас?
350 2613510
>>13504
Pandas по умолчанию openpyxl использует, но там можно выбрать engine.
351 2613519
>>13510
Профит пухлого, что он напрямую работает с хмл файлами, но фичи ограничены.
Есть ещё xlwings без ограничений, но он использует com объекткы экселя, нужна шинда и эксель для его работы.
Так что можно выбирать, но в большинстве случаев первый, если тебе не нужны какие-то йоба формулы или что-то в этом духе.
352 2613525
>>13504
Это какое-то забивание гвоздей микроскопом, он совсем для другого.
353 2613533
>>13519
Я потому и спрашивал что в этих хитросплетениях хочу не обосраться. Сейчас один модуль подключу а там окажется что есть подводные камни и переделывай.

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

Всё больше ничего не нужно.
354 2613546
>>13533
Ну пробуй, хули. Я там знаю, насколько сложные у тебя таблицы.
Про привязку к экселю у одной из либ я уже предупредил.
355 2613551
Почему разница во времени отсутствует?
356 2613566
>>13551
Хлебушек, ты нахера строковое представление времени пытаешься вычесть? Убери } у первого времени и { у второго.
357 2613575
>>13551
И забыл дописать сюда >>13566
Используй time.perf_counter() вместо time.time()
358 2613583
>>13566
я так спецом сделал, чтобы посмотреть значения времени в начале и в конце. Потому что не мог понять почему берется ноль милисекунд. Но я сделал ща огроооооооооооооомный список, и тогда время стало показываться. Видимо на моем примере она выполняет все 0 милисекунд
359 2613585
>>13575
спасибо. с перфкаунтером работает!!!!
image.png6 Кб, 375x115
360 2613590
Подскажите плиз, а можно ли округлять посчитанные значения перед добавлением в массив без помощи раунд() или нампи? Типа как в ф строках? Если можно то как?
361 2613618
>>13590
Чел, вот есть не округлено число. Оно само по себе не округлится над ним нужно провести операцию явно или не явно. Понимаешь? Грамотно составленный вопрос это уже половина ответа. Если тебе не нравится функция раунд можешь свою написать с блэкджеком и шлюхами и без мерзкого банковского округления, а с чотким поцанским школьным арифметическим.
362 2613704
>>13590

>без помоше раунд() ыле нампы?


Магчыма зрабіць int(num), але акругляецца заўсёды ў меньшы бок.
363 2613733
>>13704

>int(num)


Не понял остального, но это не округление, а взятие целой части.
364 2613868
>>13704
Разве что в Румынии
image.png69 Кб, 1057x396
365 2613922
Грамотеи питонисты, расскажите как выполнили бы задание.

Дано

1) json файл типа { путь_к_фаелу : [зависимости] }
пикрил
2) путь к одному из таких файлов

Нада

Скопировать все файлы из папки где лежит основной файл,
скажем если это
assets/content/weapons/rpk16/weapon_izhmash_rpk16_545x39_container.bundle

то надо скопировать все его зависимости которые тоже лежат в папке

assets/content/weapons/rpk16/

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

Скажем решение уже собсна готово, но занимает очень много строк кода, я такое не люблю, я люблю чтоб просто, может есть тут гении которые опишут простейший способ сделать все это ?
366 2613929
>>13922

>все его зависимости


или

>которые тоже лежат в папке


На пикче это разные множества.
367 2613932
>>13929
которые лежат в одной папке, то есть для пикрила это будут

"assets/content/weapons/rpk16/client_assets.bundle"
"assets/content/weapons/rpk16/textures/client_assets.bundle"
368 2613936
>>13922
Покажи результат твоего готового решения применимо к этому что на скрине.
369 2613943
>>13922
Восемь строк заняло решение. Но поддерживаю предыдущего анона, показывай свое, а то как-то ты слишком без уважения помощи попросил.
370 2613949
Аноны, могу я как-то передать в мап функцию со своими аргументами, без помощи лямбды и ухищрений вроде второго списка с одним элементом.
Вот у меня есть функция
def func(x, key='None')

В таком состоянии её можно передать в мап map(func, iter)
А меня интересует как-то так: map(func(key='foo'), iter) но так разумеется нельзя может есть какие-то премудрости синтаксиса чтобы так можно было?
372 2613955
>>13954
Ну это то же самое что и через лямбду. Мне просто интересно было есть ли такой синтаксический прием для конкретно таких случаев, без прокси функции (и без хитрости вроде второго списка в map).
373 2613958
>>13955
Ну партиал более внятное решение.
А так можешь выкинуть нахуй устаревший мап и использовать генераторное выражение, оно тоже ленивое как мап.
res = (func(x, key='foo') for x in iter)
374 2613961
>>13958
Охуеть, по-моему всё в питоне можно заменить генераторными выражениями. разница с пам только в паре длиннее на пару символов больше, а по скорости наверное даже быстрее т.к. компрахеншены скорее всего на Си.
375 2613963
>>13961
Ну тут есть разница. Лист компрехеншен сразу генерирует и создает новый список. На выброс, если тебе не для каких-то последующих действий.
А это генератор, который выдает on-demand, как мап. Из них можно собирать пайплайны, в которых даже скобки опциональны.
sum(x for x in range(10))
376 2613969
>>13963
Спасибо анон, ты всегда мне столько интересного рассказываешь.
378 2614007
>>14006
Тут ес че, 3 пукции манифест потому что я пока думаю как лучше, городить замену сразу когда прохожу по зависимостям, или сперва все их занести в массив, а потом уже по нему пройтись, попутно добавляя то что нужно в массив для последующего переноса файлов в другого папку
video2023-01-3006-07-02.mp42,3 Мб, mp4,
544x672, 0:04
379 2614008
>>14007
Кстати ща сижу пукаю с утра и думаю каково хуя я просто не сдампил json файл в строку и не сделал .replace(), так было бы проще, но мне все-же нужны оригинальные ссылки для того чтобы файлы скачать, поэтому пройтись циклом по зависимостям все-равно придется
380 2614038
>>14006
Хуя ты говна понаписал, портянка километровая для такой плевой хуйни, даже читать не буду - состарюсь пока до середины дойду.
Замени это всё говно вот этой функцией, за 2 минуты накалялкал когда ебалом по клаве прокатился.

def copy_key(key, dst):
....shutil2.copyfile(key, dst)
....root = os.path.dirname(key) + os.sep
....for i, d in enumerate(dict[key][Dependencies]):
........if d.startswith(root):
............shutil2.copyfile(d, dst)
............dict[key][Dependencies] = dst + d[len(root):]
381 2614040
>>14038

>dict[key][Dependencies] = dst + d[len(root):]


тут [Dependencies][d] офк
382 2614042
>>14038
Так, ну выглядит работоспособно, запускать я ее конечно буду дома вечером, потому что на работе нету фаелов игры, а вот вопрос, где тут отбираются файлы которые лежат в одной папке с нужным и к ним новые пути зависимостей прописываются ?
383 2614045
>>14038
Еще тут вопросик от братвы к тебе, в dst передается путь к уже созданной директории ? или copyfile умеет создавать директории ?
в некоторых случаях, например в главном примере, один из нужных файлов лежит в директории /textures/ в нужной папке, и структуру файлов надо сохранить, => если копифаелс не умеет создавать папки их надо заранее создать, а я не знаю заранее какие надо папки создавать, в одном случае это /textures/ в другом /zalupures/
384 2614048
>>14042
>>14045

>def copy_key(key, dst):


key это ключ словаря, dst - папка куда копируем
assets/content/weapons/rpk16/weapon_izhmash_rpk16_545x39_container.bundle

>os.makedirs(dst, exist_ok=True)


UPD - делаем путь без ошибок, даже если этот путь уже есть

>....shutil2.copy(key, dst)


UPD - заменил copyfile на copy - чтобы копировалось в новую директорию со старым именем файла

>....root = os.path.dirname(key) + os.sep


Отрезаем от ключа долька директорию где он лежит и добавляем сепаратор системы чтобы не было ошибок дальше при сравнении

>....for i, d in enumerate(dict[key][Dependencies]):


крутим список зависимостей

>........if d.startswith(root):


если зависимость лежит в той же папке что и ключ - берем её. тут можно ещё lowercase добавить. я забыл
............shutil2.copyfile(d, dst)

>копируем эту зависимоть туда же куда и ключ


............dict[key][Dependencies] = dst + d[len(root):]

>меняем путь в зависимости на новый

16739343881190.jpg245 Кб, 720x865
385 2614054
>>14048
лан, дома затестим, по-крайней мере выглядит меньше чем то что я насрал, спасибо, грамотей
на вот заслужил фотокарточку с титьками
image.png16 Кб, 854x105
386 2614067
>>14048
ну кстати, решение сдампить json с зависимостями и зареплейсить строки еще меньше по сути то, конечно все-равно придется пройтись циклом по зависимостям, но не лишнего дроча, вернее он скрыт

в чем данный код не прав ?
387 2614073
>>14067
Ты так свою задачу сформулировал, что я так и не понял что тебе вообще нужно было, просто насрал функцию не глядя и не проверяя, прямо в текстовом поле двачика. Так что без понятия чем лучше. Могу просто по своему опыту сказать что всегда есть подводные камни, и всегда лучше работать с адресными объектами словарей и списков, где всё под контролем, чем с текстом.
388 2614128
>>14073
так-то да, так надежнее
image.png24 Кб, 1140x267
389 2614133
Подскажите плиз. Вообще не понимаю
390 2614134
391 2614135
>>14134
да блин, поудаляли знаки 8 2 1
392 2614136
>>14135
В общем, макаба не любит звёздочки
8 умножить 2 умножить 1
А так интересно будет работать
\*
393 2614142
>>14136
ну ты что совсем тупой изи каточка же.

from functools import reduce
print(reduce(lambda a,b:int(a)*int(b),str(821)))
394 2614146
>>14142
while цикл где
395 2614147
>>14146
Внутри reduce
396 2614153
>>14147
садись, 2
397 2614156
>>14153
Лол, ну и иди на хуй тогда даун, сам решай свои задачки для детей с задержкой в развитии.
398 2614167
>>14156
причина подрыва
image.png7 Кб, 328x261
399 2614205
>>14133
Это же классическая задачка.
Делишь на десять, чтобы отрезать разряды с конца, пока нихуя не останется.
400 2614230
Как работает функция лоад модуля пикл? pickle.load() вкратце?
Как она преобразует бинарный файл в текстовый? Ну в целом какие принципы там работают вкратце? Вкратце!
401 2614231
>>14230
ВКРАЦИИ!
Документацию не пробовал читать? https://docs.python.org/3/library/pickle.html
402 2614237
>>14231
Там описано что она ПРОСТО преобразует. по ВОЛШЕБСТВУ. как на ютубе. А я думал будет типа математика как она понимает что этот байт это такая буква или цифра и т.д.
403 2614241
>>14237
А это что блять https://docs.python.org/3/library/pickle.html#data-stream-format
Читай пепы.
image.png14 Кб, 514x246
404 2614248
>>14231
Вот типа такого
image.png4 Кб, 294x60
405 2614274
Объясните как работает инверсия битов(операция NOT). Она ещё записывается ~(тильдой)
Почитал и простыми словами это операция меняет 1 на 0, и наоборот.
То есть есть у нас цифра 5 в десятичной системе, в двоичной она будет выглядеть 101. Применив инверсию мы получаем 010, что в десятичной равняется 2.
Но у меня почему-то так не работает. Я записываю какое-нибудь число, и оно просто уменьшается на единицу по модулю и меняет свой знак на противоположный. То есть 5 становится не 2, а -6. Пикрил как пример. Что я делаю не так? Или может в питоне биты какие-то другие? Помогите пожалуйста, будьте добры
406 2614275
>>14274

>уменьшается по модулю


увеличивается быстрофикс
407 2614286
>>14274
Она работает для беззнаковых чисел, которых в питоне нет.
408 2614290
>>14286
Твое объяснение мне не понятно
409 2614292
>>14286
В питоне другое представление чисел?
410 2614312
>>14274
она работает ровно как ты написал. биты берут и инвертируются. побитно.
Ты наблюдаешь отрицательное число, потому что такова форма записи отрицательных чисел.
411 2614316
>>14292
Везде одинаковое, просто есть signed , есть unsigned.
Под этот самый знак отрезается старший бит.
Т.е. unsigned 8bit int это от 0 до 255, signed это от -128 до 127.
В питоне есть только signed, поэтому своим нотом ты этот знаковый бит тоже хуяришь.
Можешь поиграться тут с репрезентациями https://calc.penjee.com/
image.png15 Кб, 623x268
412 2614351
>>14312

>она работает ровно как ты и описал


не работает
413 2614359
>>14312
Понял
>>14316
Спасибо
image.png594 Кб, 1000x473
414 2614574
Джангисты призываются в тред. С 5 версии будет удалена возможность выходить из системы через запросы GET. Пихать logout с логикой POST запроса в представление каждой страницы кажется порочной практикой. Как сделать кнопку выхода из системы одним представлением, при том, что переход по example.com/logout/ возвращает только GET запрос? Отдельную страницу с кнопкой "Выйти" конечно можно наговнокодить, но это же лишний клик.
image.png8 Кб, 447x102
415 2614647
>>14574
Добавлю, что пикрил не предлагать. Работает конечно, но это же костыль ебаный.
416 2614685
>>14205
Спасибо
Я просто думал что здесь как в списках запись будет по типу *= [::], а так хз не додумался бы даже с %
417 2614711
>>14685
Ну можно конвертнуть в список и попать элементы или дополнительный счетчик ввести, но с вайлом скорее подразумевается математическое решение.
418 2614732
>>14711
А может это такой тест, кто как решит.
419 2614735
Что нужно, чтоб сделать свой редактор 3д моделей и простой анимации без рендеринга?
420 2614889
>>14574

> Пихать logout с логикой POST запроса в представление каждой страницы кажется порочной практикой


А что такого?
421 2614895
>>14889
А вообще можешь делать редирект на страницу логаута и сразу отправлять пост запрос на логаут, который тебя ещё раз редиректит.
422 2614907
>>14889
Ненавижу повторяющийся код.

>редирект


Так видимо и придётся делать, но костыль жи. Что интересно, при function-based представлении выход происходит около секунды, а при class-based мгновенно, даже промежуточного редиректа не видно.
423 2614908
>>14735
Отсосать у питониста!
image.png14 Кб, 485x193
424 2614925
а в питоне так можно, как в JS?
чтобы отправить объект и распаковать его прямо в аргументах, достав только нужное свойство
425 2614928
>>14925
на питоне всё можно, разве что драйвера на ней не попишешь
426 2614931
>>14928

>драйвера на ней не попишешь


почему?
427 2614933
>>14931
потому что низкоуровневое программирование нужно, на уровней отдельных байтов
428 2614935
>>14933
Какие ещё нахуй уровни байтов? На питоне просто нет инструментов для работы с железом. Это скриптовый язык для всяких задач уровня: если хочу какоть, покакою, а иначе не покакою.
429 2614936
>>14925
obj.qq
430 2614938
>>14935
Питон это виртуальная машина, молотящая байткод. Хуяришь к ней обвязочку драйверную, пробрасываешь внутрь свое железо и еби свои байты.
Я бы посмотрел на такой цирк.
431 2614940
>>14938
Да ты ебанутый. Вот из-за таких идей и появился Electron.
432 2615017
>>14936
Так не работает.
433 2615104
>>14711
не понимаю как через список решить
434 2615108
>>15104
s = '821'
lst = list(s)
res = 1
while lst:
res *= int(lst.pop())
image.png1 Кб, 157x56
435 2615201
436 2615328
Такой вопрос. Тем кто сидел на фрилансе.
Вот я прочитал уйму книжек, чуток покодил и хочу тоже вкатиться во фриланс по питону. Так вот. Может поделитесь списком типовых заданий, которые обычно нужны заказчику, ну чтобы уже дрочить не абстрактные какие-то надуманные задания а реальные, то есть вопрос, что именно нужно на биржах заказчику, с каких заданий лучше начинать.
437 2615333
написать приложение на flask (ориентировочное время выполнения - 24 часа)
Описание приложения: приложение разрабатывается с помощью фреймворка flask, работает с базой данных SQLite, имеет API и веб интерфейсы. Цель приложения: каталогизация и структурирование информации по различным веб-ресурсам.
1. API-интерфейс. Приложение принимает GET и POST запросы:
a. POST запрос №1 должен содержать в теле ссылку на какой-либо веб-ресурс. Приложение должно обработать полученную ссылку, разложить ее на протокол, домен, доменную зону и путь. Если в ссылке присутствуют параметры - преобразовать их в словарь. Полученные данные нужно сохранить в таблице базы данных, присвоив уникальный идентификационный номер (uuid). Возвращать пользователю ответ в формате json с разложенными данными и статусом обработки. Если пользователь прислал не ссылку - сообщать ему об этом в ответе.
b. POST запрос №2 должен содержать в себе csv файл с перечнем ссылок (формат файла - каждая новая строка одна ссылка). Все ссылки нужно обрабатывать по образцу POST запроса №1, а также обработка должна выполняться в фоновом режиме. В ответ добавить общий статус обработки файла (количество обрабатываемых ссылок, количество ошибок, количество ссылок, направленных на сохранение в БД).
c. GET запрос №1 должен выводить все сохраненные ссылки из БД (добавить возможность выборки по доменной зоне, id, uuid).
d. GET запрос №2 возвращает последние 20 строчек лога (см. п.2).
2. Логирование. Приложение должно проводить логирование своей работы с ротацией лог-файлов при достижении определенного размера файла (1 мегабайт). Необходимо логировать все полученные запросы и ответы приложения, а также информацию о добавлении в БД новой записи.
3. Веб-интерфейс. Требуется реализовать 3 веб-страницы для приложения. При вёрстке страниц требуется использовать фреймворк Bootstrap5. Постараться выдержать единый концепт оформления страниц.
a. Страница 1. Реализовать веб-страницу, содержащую формы для добавления в приложение новых веб-ресурсов. Формы должны добавлять веб-ресурсы как поштучно, так и загрузкой CSV файла. Формат CSV файла тот же, что и для API интерфейса.
b. Страница 2. Реализовать веб-страницу с таблицей, отображающую все ссылки из базы данных с разбивкой на страницы (пагинация, по 10 элементов на страницу). Также веб-страница должна содержать элементы управления - поиск по доменному имени, возможность фильтрования по доменной зоне, а также удаление конкретного элемента из таблицы и базы данных соответственно.
c. Страница 3. Реализовать веб-страницу, отображающую строки из лог-файла. Отображение должно быть динамическим (при обновлении файла - обновляется и содержимое веб-страницы).
Если вы владеете знаниями JavaScript - добавьте интерактивные уведомления на веб-страницах по результату выполнения каких-либо действий. Иначе используйте для коротких уведомлений функционал flask flash.
4. Авторизация (Необязательное, бонусное задание). Добавить в приложение авторизацию пользователей по токенам, дописать необходимые эндпойнты и шаблоны для авторизации и завершения сессии, функционал, описанный в пунктах 1-3 сделать доступны только для авторизованных пользователей. Логировать авторизацию, завершение сессии и попытки несанкционированного доступа.
5. Дистрибуция и контейнеризация. Код приложения должен упаковываться в docker-контейнер и автоматически запускаться при старте контейнера. Приложение должно быть залито на github. В проекте должен быть файл README с описанием проекта, эндпойтами и пошаговой инструкцией по разворачиванию и запуску проекта.
437 2615333
написать приложение на flask (ориентировочное время выполнения - 24 часа)
Описание приложения: приложение разрабатывается с помощью фреймворка flask, работает с базой данных SQLite, имеет API и веб интерфейсы. Цель приложения: каталогизация и структурирование информации по различным веб-ресурсам.
1. API-интерфейс. Приложение принимает GET и POST запросы:
a. POST запрос №1 должен содержать в теле ссылку на какой-либо веб-ресурс. Приложение должно обработать полученную ссылку, разложить ее на протокол, домен, доменную зону и путь. Если в ссылке присутствуют параметры - преобразовать их в словарь. Полученные данные нужно сохранить в таблице базы данных, присвоив уникальный идентификационный номер (uuid). Возвращать пользователю ответ в формате json с разложенными данными и статусом обработки. Если пользователь прислал не ссылку - сообщать ему об этом в ответе.
b. POST запрос №2 должен содержать в себе csv файл с перечнем ссылок (формат файла - каждая новая строка одна ссылка). Все ссылки нужно обрабатывать по образцу POST запроса №1, а также обработка должна выполняться в фоновом режиме. В ответ добавить общий статус обработки файла (количество обрабатываемых ссылок, количество ошибок, количество ссылок, направленных на сохранение в БД).
c. GET запрос №1 должен выводить все сохраненные ссылки из БД (добавить возможность выборки по доменной зоне, id, uuid).
d. GET запрос №2 возвращает последние 20 строчек лога (см. п.2).
2. Логирование. Приложение должно проводить логирование своей работы с ротацией лог-файлов при достижении определенного размера файла (1 мегабайт). Необходимо логировать все полученные запросы и ответы приложения, а также информацию о добавлении в БД новой записи.
3. Веб-интерфейс. Требуется реализовать 3 веб-страницы для приложения. При вёрстке страниц требуется использовать фреймворк Bootstrap5. Постараться выдержать единый концепт оформления страниц.
a. Страница 1. Реализовать веб-страницу, содержащую формы для добавления в приложение новых веб-ресурсов. Формы должны добавлять веб-ресурсы как поштучно, так и загрузкой CSV файла. Формат CSV файла тот же, что и для API интерфейса.
b. Страница 2. Реализовать веб-страницу с таблицей, отображающую все ссылки из базы данных с разбивкой на страницы (пагинация, по 10 элементов на страницу). Также веб-страница должна содержать элементы управления - поиск по доменному имени, возможность фильтрования по доменной зоне, а также удаление конкретного элемента из таблицы и базы данных соответственно.
c. Страница 3. Реализовать веб-страницу, отображающую строки из лог-файла. Отображение должно быть динамическим (при обновлении файла - обновляется и содержимое веб-страницы).
Если вы владеете знаниями JavaScript - добавьте интерактивные уведомления на веб-страницах по результату выполнения каких-либо действий. Иначе используйте для коротких уведомлений функционал flask flash.
4. Авторизация (Необязательное, бонусное задание). Добавить в приложение авторизацию пользователей по токенам, дописать необходимые эндпойнты и шаблоны для авторизации и завершения сессии, функционал, описанный в пунктах 1-3 сделать доступны только для авторизованных пользователей. Логировать авторизацию, завершение сессии и попытки несанкционированного доступа.
5. Дистрибуция и контейнеризация. Код приложения должен упаковываться в docker-контейнер и автоматически запускаться при старте контейнера. Приложение должно быть залито на github. В проекте должен быть файл README с описанием проекта, эндпойтами и пошаговой инструкцией по разворачиванию и запуску проекта.
438 2615334
439 2615337
Аноны вот у нас класс
class SuperPook:
pass

Вот у нас образец
malenquie_puk = SuperPook(srenk)

А как делать сотни таких объектов с рандомными именами? Чтобы как ключи в словаре.
440 2615338
>>15333
Спасибо конечно. Но это одно задание из... Я имел ввиду чтот титпо такого
- написать задание на фласк
- бла бла бла
- бла бла бла

Ясно что Это просто ТЗ к одному заданию. И я уже в ахуе если честно.
441 2615345
>>15337
Так и сделай ключи в словаре.
442 2615353
>>15337
dict = {}
for i in range(9000):
dict.setdefault(i, SuperPook(srenk))
443 2615354
>>15345
>>15353
Да точно. Засунул в цикл и сделал кучу "безымянных" экземпляров. Я почему такие тупые вопросы задаю, просто сначала в стаковерфлоу полез и там какие-то заумные гайды люди через getattr() что-то там меняют делают.
444 2615356
>>15338
Это ещё самый простой пример.
445 2615381
>>15328
на самом деле можешь банально полистать биржы и посмотреть с одной стороны заказы, а с другой стороны исполнителей, что они пишут у себя в профиле и так далее
446 2615405
>>15356
Пока что самое ебейшее тестовое по отношению сложность/время выполнения, которое я видел.
447 2615406
Посоветуйте годных ресурсов по sql алхимии, помимо документации.
448 2615424
>>15406
От него каким-то легасным душком несет, или мне кажется?
449 2615535
>>15424
Да вроде активно обновляется, асинхронку прикрутили.
450 2615565
Мне нужно создать небольшое приложение где нужно тупо ставить кружки, правым кликом мыши их удалять и чтобы была возможность перемещать их мышкой.

Какую Gui библиотеку нужно скачать чтобы быстро это реализовать? Или движок может какой-то для игр.
451 2615588
>>15565
Это и на turtle можно сделать небось.
452 2615626
>>15588
Нужно минимальное количество ебли с кодом.
453 2615635
>>15626
Ну как раз если ты возьмешь какой-то сириус бизнес, то будет больше ёбли.
Ты не полностью сформулировал задачу, так что не ясно, какие фичи в целом нужны. Что это и для чего?
454 2615924
webdriver.find_element(WebDriverWait(browser, 11).until(EC.presence_of_element_located((By.ID, "LUL")))).click()

Посоны, а можно как-то так оформить строку чтобы одновременно в ней было и ожидание элемента и клик по нему?
455 2615976
Сам спросил сам ответил, помню где-то же видел такой синтаксис вот так короч работает:
WebDriverWait(webdriver, 11).until(EC.presence_of_element_located((By.ID, "LUL"))).click()

А объясните зачем двойные скобки, которые выделил болдом. Почему с одинарными ошибка?
456 2615992
>>15976
Это тупля, очевидно же. Зачем она там хз, видимо надо для чего-то.
457 2616056
Какого хуя джанга не может закрыть файл лога при ротации???
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\django\\project_name\\debug.log' -> 'C:\\django\\project_name\\debug.log.1'
458 2616148
Реально ли за полгода вкатиться на 20к обосранных рубасиков куда-нибудь? Просто питон уже хорошо знаю, пишу ботов на нём, душе тепло от него а что-то другое мерзко учить и почвы под ногами не чувствую будто придётся лет 10 учить.
459 2616151
>>16148

> Просто питон уже хорошо знаю, пишу ботов на нём


Прикручиваешь ручки к чужой либе? Заебись знаток.
460 2616152
>>15333
ёбанный в рот я такое две недели писать буду
461 2616154
>>16151
ты на вопрос то ответь а не выебонами виляй
462 2616159
>>16154
Выучи питон, тогда сможешь вкатиться, что тут можно ответить.
463 2616161
>>16159
ты на вопрос не ответил, всё ещё выебоны идут
464 2616163
>>16161
Ты написал пост в стиле, пацаны, я научился гвозди забивать, как вкатиться в строители? Что будет не выебоном, по-твоему?
465 2616164
>>16163
ответить можно за конкретно обозначенное время вкатиться на конкретно обозначенную область за конкретно обозначенное время а не 3 поста подряд тратить своё время на выебоны
466 2616165
>>16164
на конкретно обозначенную зп*
467 2616166
>>16164
Я тебе сразу сказал, при твоем уровне знаний - никак, но ты упираешься как баран.
468 2616168
>>16166
ты сначала сказал что конкретно сейчас я ничего не могу, хотя я спрашивал про потенциал через полгода-год. Потом ты сказал какую-то общую хуйню про изучение питона без уточнения какого-либо времени. Почему ЧСВ тебе так мешает не быть говном?
Если бы ты адекватно ответил, не пришлось бы тебя брать за яйца с уточнением того что я про конкретное время и конкретную цель спрашивал.
Я уже и не говорю что добропорядочный ответ хорошего человека содержал бы ещё конкретные рекомендации насчёт того, стоит ли в область ботоделания вкатываться, какие ещё навыки надо развивать и какие области лучше, но ты просто говно которое хочет повыёбываться на ньюфагах и которому легче 10 постов уклончиво отвечать на вопрос вместо одного нормального уважительного ответа. Твоё самолюбие сейчас не позволит тебе выпизднуть ничего лучше чем "я тебе ничего не должен", но почему-то ты посчитал должным потратить намного больше усилий чтобы насрать сюда бесполезных постов.
469 2616169
>>16168
Просто боты это такой большущий маркер Я НУБЛО.
Ты получаешь что-то работающее, нихуя по сути не сделав.
Надо дрочить кор язык, надо дрочить стдлибу, надо дрочить тулчейн, надо дрочить гиты, надо дрочить базы, надо дрочить никсы, надо дрочить алгоритмы и структуры.
Ты чайной ложкой зачерпнул из огромной горы песка и бежишь спрашивать, а за сколько я смогу вкатиться? За столко, сколько у тебя выйдет хотя бы минимально поскрестии все эти пласты, не выгорев при этом.
Так лучше ответ?
470 2616170
>>16169
забыл ещё ооп, архитектуры всякие, паттерны. ну короче дохуя ещё.
471 2616171
>>16169
Да, нормальный ответ, спасибо. Базы кое как присобачивал через постгрес или майскьэл, алгоритмы и структуры в унике были, гиты тоже, стдлибу сейчас учу по пунктно. Ботов хочется делать потому что просто опыт был и реально деньги за это платили которые руками чувствовал, других вариантов так просто найти фриланс я просто не встречал и трясусь что можно целый год ебашить а потом узнать что шансов в этой области нет
Безымянныйdfgfsdg.png48 Кб, 809x744
472 2616174
>>15924
>>15976
И в догонку к этому, я сам искал инфу, а потом решил спросить сами знаете у кого.
Ну что вкитывальщики намылили жопу?
473 2616175
>>16174
так если эти нейрохуети начнут массово юзать может в них вкатываться лучше?
474 2616176
>>16175

>так если эти нейрохуети начнут массово юзать может в них вкатываться лучше?


Они похоже сами везде вкатятся.
Безымянныйdfgfsdg1.png15 Кб, 586x262
475 2616178
Эбало имажине?
Джуны больше не нужны.
476 2616179
>>16178
Какой же блевотный этот сселениум.
477 2616180
>>16171
Я с точно такими же намерениями и знаниями пришел в этот итт тред. Джва года "писал" в стол и для души, игнорируя по этой причине всё что мне было не нужно, но изрядно надрочившись в определенной области - думал что море по колено и горы по плечо. А потом решил всё-таки формализовать и структурировать свои знания, закрыть пробелы. И тут я понял как глубока эта кролечья нора, она бездонна. литерали можно годами просто учить всё на свете и всё равно будет то, чего ты не знал. Но вот без чего точно не стать питухнистом это без знания СТАНДАРТОВ ИНДУСТРИИ - нужно знать алгоритмы O(n), O(log) вот это всё, да не просто знать и глазами пробежать, а глубоко понимать, а для этого нужно глубоко понимать структуру данных и весь подкапот. Я теперь смотрю на сво. старую писанину и понимаю какое это было нубское говно. По этой причине, видимо, тебе так и ответили ИТТ, ты коснулся вершины айсберга и думаешь что схватил бога за бороду, но мы все через это чувство проходили ранее.
478 2616181
>>16179
А мне норм.
479 2616185
>>16180

>нужно знать алгоритмы O(n), O(log) вот это всё, да не просто знать и глазами пробежать, а глубоко понимать, а для этого нужно глубоко понимать структуру данных и весь подкапот.


я просто спрашиваю блять сколько на это времени нужно если чётко по плану учить. Выгорать или нет это уже мои проблемы, мне нужен план конкретный.
480 2616186
>>16148
про полгода хуй знает, больше от удачи зависит, может за 2 недели залетишь, а может 2 года будешь искать

задрочи базовый синтаксис питона и поделай петики на джанго и фастапи, потыкайся в парсеры, по алгоритмам опять же, для вката достаточно понимания О-большого, рисуй год опыта в резюме и пиздуй штурмовать хед хантер
http методы, tcp, udp, всю эту залупу тоже надо понимать, на всех собесах спрашивают

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

> но лучше в них углубляться когда...


Плохому учишь.
482 2616188
>>16187
нахуй нужны алгосы челику который хочет формошлепить за прожиточный минимум?
захочет роста тогда за них возьмется, вкат с них начинать если ты не упругий зубастый студент который хочет в яндекс/фаанг смысла нет
483 2616189
>>16188
Так без алгосов у тебя и будет школокод с трехэтажными циклами. Ты считаешь это нормально? Ладно спорить не буду.
484 2616190
>>16189
но за этот школокод он уже будет кушать, а там начнет улучшать, опыт уже будет тикать, что не так?
485 2616191
>>16190
Я думаю, что чтобы его взяли на работу он как минимум должен будет показать свой гихаб, а может просто выполнить тестовое. А там все увидят какой у тебя уровень.
486 2616192
>>16191
ты сам работаешь?
487 2616193
>>16192
Конечно. Я синьор тимлид.
488 2616194
>>16193
а)))
ну нехуй тогда хуйню человеку советовать
489 2616207
>>16152

>время выполнения - 24 часа


Вон из професии!11
16763714882280.jpg363 Кб, 1080x1460
490 2616208
>>16191
а чем гитхаб во время учёбы заполнять кроме как задачками с кодворс лол?
491 2616220
>>16179
Но другого вебдрайвера у нас для вас нет.
492 2616228
>>16220
паппетир есть, в сто раз пижже.
493 2616412
>>16174
>>16178
Самое интересное, что эта нейросетка хорошо лобает код на питоне/жабе/жс/голанге/шарпе и прочих высокоуровневых языках. При этом даже на С идёт полнейший посос при отступлении от стандартных задач. Я уже не говорю про кресты, раст и ассемблер. Настоящие программисты на коне, а питух-макаки будут успешно заменены нейросетями.
494 2616417
>>16412
Так она в любом языке при отклонение от примера из документации обосратьсч может. Не надо затирать про какую-то экскоюзивность низкоуровневых языков.
495 2616429
>>16417
Нихуя. На питоне и жс вообще полноценный софт крафтит, да ещё и с тестами, если попросить. В экспериментах с С++ однажды ответила, что затрудняется реализовать запрос. Всем отделом проиграли.
496 2616438
>>16412
не зря у нас в универе с и с++ в приоритете
497 2616440
>>16429
Ох уж эти мрии крестовика.
498 2616442
>>16429
Просто питухон более популярный. Тем, обсуждений, библиотек и решений на нем гораздо больше в открытом доступе чем на любом другом другом языке, а эта сетка просто собирает ответы со стакоферфлоу и обсуждений гитхаба.
Лол или ты реально думал что ВСЕМОГУЩАЯ НЕЙРОСЕТКА сама какие-то решения и ответы придумывает.
499 2616450
>>16442
Ващет там чёрный ящик с абстракциями уровня /b/. Сами прогеры не знают, что происходит внутри. Они только делают вход-выход и методы. Как этими методами и данными шаманит натренированная нейросеть, одному Богу известно.
500 2616453
>>16450
Это обычный нлп трансформер, предсказывающий более вероятное продолжение фразы. Никакой магии там нет, что она чаще всего видела, то и будет выдавать более развернуто.
501 2616455
>>16450
Хуйню не неси. Внутри твоего черного ящика под названием "нейросеть" просто определенный тип структуры данных, сделанный по образу нейронной сети нервных тканей. Заполняет эту структуру известный программистам метод. Они могут в любой момент достать оттуда объект и посмотреть его связи, если конечно это было бы кому то нужно, но это ни кому не нужно и все данные просто так и оставляют в какой-нибудь двоичной каше.
image.png1,3 Мб, 900x900
502 2616457
>>16453
>>16455
ТЫ ГРЕШНИК!!!
503 2616679
>>15333

>ориентировочное время выполнения - 24 часа


В прошлый раз, когда эту портянку постили - у многих пригорело, но на самом деле речь не про 1 сутки, а про 3 рабочих дня. Так работет разработка в корпоративной среде.
504 2616684
>>16679
Если трое суток, то нормально.
505 2616713
>>16679
А может вообще академические часы имелись в виду а не рабочие дни? Не фантазируй, тут просто заказчик фуфлогон был или кидала, во всех тестовых всегда по человечески пишут сколько время дается, а тут значит вон как, догадаться надо. Короче, без явного пояснения - часы это часы, а то что ты предполагаешь - просто твои фантазии.
506 2616730
>>16679
им трудно напечатать лишнее слово, чтобы убрать двусмысленность?
507 2616734
list1 = ['bar',]
list2 = ['foo','bar']

Как максимально эффективно за один проход (и желательно в две строки) получить список элементов, которые есть в list2 но отсутствуют в list1.
Количество и порядок элементов может быть любой, элементы не повторяются, я бы сделал сэт и в нем сравнил, но это уже как минимум два прохода, не говоря про остальные телодвижения.
508 2616756
509 2617885
Дарова, друзя!
Хочу вкатица в путон))
Скажите что читать что смотреть
Спасиба реально тем кто поможет а остальным скажу так хейтеры я вас люблю
Тред утонул или удален.
Это копия, сохраненная 25 апреля 2023 года.

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

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