• Куда развиваться Python разработчику (не для поиска первой работы)?

    @PkQDark
    А с чего ты за пол года решил, что ты ограничен?) Основываясь на своем личном опыте, я сейчас понимаю, что первые два года вообще не понимал, что делаю, хотя тогда я так не думал:) А развиваться надо не в технологии, а а направлении, если хочешь заниматься вебом, то занимайся им. Разбери в деталях как работает все mvc. Как можно реализовать одно и тоже на django, flask, fast api и aiohttp, если тебе зачем то захотелось разобрать несколько фреймворков. Разберись как работает фронт, выучи react, angular, vue. Разберись в деталях асинхронности, что бы слова async и await, не вызывали у тебя вопросов. Изучи как работает многопоточность в питоне (херово), и что вообще такое GIL и зачем это надо. Разберись с другими протоколами, как минимум с веб сокетами. Копни глубже в архитектуру и проектирование и изучи хотя бы все основные патерны и антипатерны, научись писать код согласно SOLID. Копни глубже в питон и разберись как работают метаклассы и в чем их суть. Залезь в детали разных CI/CD и деплоймент процессы, разбери как минимум докер, кубкрнетс и/или ансибл. Копни глубоко в тестирование и разберись со всеми деталями юнитов, интеграционных, ацептанс, перформанс текстов. Закопайся в детали баз данных, что бы вообще хорошо понимать SQL, что бы вопросы чем where отличается от having, или в чем разница между postgres и mysql вообще не вызывали проблем. Опять же понимание транзакций и уровня изолированности транзакций. Понимание и умение использовать NoSQL базы, и как минимум знать где и какие применяются. Понимание где и зачем нужна микросервисная архитектура. Если вдруг ты действительно все это понял и разобрал за пол года, то я искренне тебе завидую и готов помогать и подсказывать куда развиваться и что изучать. Если что сам senior python developer / release manager, в крупной международной компании:)
    Ответ написан
    Комментировать
  • Почему в библиотеке requests мои POST запросы с параметрами сьедают "/" в конце?

    MinTnt
    @MinTnt
    На сайте есть переадресация, [response 308], которую можно увидеть в history. Как пример, добавь вывод:
    print(response.history[0].url)
    Там уже будет верная URL, и дальше можно будет пробовать именно этот запрос и обрабатывать
    Ответ написан
    3 комментария
  • Почему при "просмотреть код элемента" есть нужные данные, а при его парсинге они пропадают?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Данные загружаются динамически. Что именно вы хотите спарсить?
    Смотрите исходный код только через Ctrl+U, именно в таком виде он приходит в ответ на запросы.
    Пользуйтесь F12 -> Network, все динамические данные обычно можно найти там, просматривайте вкладку XHR
    Вот тут например загружаются данные о манге на аккаунте
    5fcb3d2bbf9f3578637540.jpeg

    Соответственно, в этом случае нужен get на https://mangalib.me/bookmark/1021527
    Ответ написан
    Комментировать
  • Существуют ли более приятные конструкции чем if elif else где на каждое значение нужно проводить разное действие?

    @twistfire92
    Python backend developer
    Во-первых код надо оборачивать в соответствующий тег.

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

    # прописываем соответсвие значений кубика и действий через словарь
    actions = {1: self.pass_day,
    			2: self.eat_food,
    			3: self.work_day,
    			4: self.have_fun,
    			5: self.go_shopping,
    			6: self.sleep}
    
    action = actions[dice] # получаем нужную функцию
    
    action() # Выполняем нужную функцию


    Заметьте, что в словаре прописываем имена функций без (), т.к. мы не выполняем их, а только ссылаемся на сами объекты.

    P.S. Код не проверялся, возможно где-то есть небольшие неточности, но примерно такую же конструкцию сам использовал как-то.
    Ответ написан
    Комментировать