Задать вопрос
  • Нужно ли проверять типы в Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Для Python является идиоматичной обработка исключений вместо проверок допустимости действий.
    Ответ написан
    1 комментарий
  • Нужно ли проверять типы в Python?

    lxstvayne
    @lxstvayne
    Люблю Python
    Конечно, нужно, ведь мы ожидаем конкретные типы задавая параметры для функции. Можно проверять соответствие типам вручную, но есть альтернативный, более удобный и красивый, подход -- использование библиотеки pydantic, которая специализируется на валидации, а именно декоратор validate_arguments. Валидация помогает на ранних и даже на поздних этапах дебажить ошибки в логике вашего кода. Это очень помогает, даже если на проекте один человек.
    Ответ написан
    1 комментарий
  • Как правильно переносить параметры?

    seven5674
    @seven5674
    Старый я уже что бы что-то в себе менять
    pep8 в помощь
    оба способа не правильные, как по мне, хотя первый и не противоречит стандарту но при большом кол-ве параметров не читабельный
    с именованными параметрами мне ближе такой
    def func_name(
        var1=def_val1,
        var2=def_val2,
        varN=def_var3)
    Ответ написан
    Комментировать
  • Каким должен быть модификатор доступа при инициализации свойства?

    Vindicar
    @Vindicar
    RTFM!
    Не, ну а в чем вопрос-то.
    В первом случае ты вообще обходишь сеттер свойства, присваивая значение напрямую приватному полю. Сеттер не вызывается, так как ты не обращаешься к свойству bat_capacity.
    Во втором случае ты присваиваешь значение свойству, тем самым провоцируя срабатывание сеттера, который и валидирует значение.
    61ee67404277a591391562.png
    Ответ написан
    3 комментария
  • Как тут парсить?

    @AVKor
    BS4 не помогает

    Помогает.
    #!/usr/bin/env python
    
    from bs4 import BeautifulSoup
    
    html = """
    <body>
        <div>
            <tr>Содержимое тэга 1</tr>
            <tr>Содержимое тэга 2</tr>
            <tr>Содержимое тэга 3</tr>
            <tr>Содержимое тэга 4</tr>
        </div>
    </body>
    """
    soup = BeautifulSoup(html, 'html.parser')
    res = soup.select('tr')
    for item in res:
        print(f"<div class='cl'>{item.text.strip()}</div>")

    $ ./test.py
    <div class='cl'>Содержимое тэга 1</div>
    <div class='cl'>Содержимое тэга 2</div>
    <div class='cl'>Содержимое тэга 3</div>
    <div class='cl'>Содержимое тэга 4</div>
    Ответ написан
    5 комментариев
  • Как из содержимого строки сделать название переменной?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Комментировать
  • Недостатки видеоуроков?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Видеоуроки - как книжки "для чайников". Как правило - это много частных примеров, мало теории. Плюс к тому, обычно читать тот же текст получится быстрее, чем смотреть видео, т.к. читать можно по диагонали.
    Видеоуроки подойдут, если:
    • У вас индукционное мышление - 100 примеров лучше чем страница теории.
    • Вы воспринимаете "на слух" лучше, чем читая текст.

    Но рано или поздно наступит момент, когда документация станет родным домом, а видеоуроки будут восприниматься как потеря времени, потому что время==деньги, и час расслабона, смотря видео, станет стоить слишком дорого.
    Но не стоит вообще отказываться от таких форматов. Мой преподаватель по электронике, умнейший человек, говорил: "Не стоит гнушаться книжек 'Для чайников' - в них информация изложена кратко и максимально доступно. И этого минимума может хватить чтобы начать уже что-то делать"
    Ответ написан
    Комментировать
  • Недостатки видеоуроков?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Нужен огромный и продолжительный труд, чтобы написать приличную книжку.
    Чтобы в ней было не 10 страниц, а много хорошего материала, с примерами, с задачами, с изложением. Оформить, вычитать, отредактировать, договориться с издателем, выпустить, получить какую-то отдачу.
    Хорошую книгу ты читаешь долго. Месяц, два, год. Перечитываешь.

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

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

    Также видео делать сложнее, чем писать текст. Гораздо дольше. Гораздо дороже.
    Редактирование видео вещь в разы более муторная, поэтому чаще просто переснимают короткие блоки, а это опять таки непросто.
    То есть сделать видео с таким же качеством материала и с такой же плотностью материала - в десятки раз дороже по всем ресурсам - деньги, время, оборудование.
    И при этом никто не будет смотреть месяц видео (160 часов, например). Никто не будет делать поиск внутри видео, закладки на нужные отрывки и использовать видео как справочник.

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

    Видео - это разок посмотреть на чей-то практический материал, разок посмотреть как это делает кто-то другой.

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

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

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

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

    P.S. Одним из самых важных минусов видео я считаю то, что ты не можешь получать информацию в комфортном для себя темпе, с возможностью быстро перечитать слово/фразу и обдумать ее. Сам читаю множество лекций, и эта проблема, когда скажешь 2-3 предложения быстрее, чем обычно и половина учеников отваливается с бессмысленным взгядом. Так на живом курсе ты можешь обратить на это внимание и перефразировать, а записанное видео уже не изменишь.
    Ответ написан
    1 комментарий
  • Чему учит Марк Лутц?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Но полистав pdf-файл этой книжки я не смог найти ни одного куска кода, который был бы для меня не понятен. Разве что незнакомые модули.


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

    Потом попробуй почитать стандартные вопросы на интервью для джуна.
    Ответ написан
    5 комментариев
  • Чему учит Марк Лутц?

    @Spargwy
    20 годиков. Голанг баккенд девелопер
    Но полистав pdf-файл этой книжки я не смог найти ни одного куска кода, который был бы для меня не понятен.

    Нихрена ты не понимаешь - тебе так только кажется.
    Ответ написан
    Комментировать
  • Чему учит Марк Лутц?

    @AVKor
    Я новичок в программировании, и не совсем понимаю необходимости чтения книг.

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

    Тогда лучше стать не программистом, а видеоблогером.
    Многие рекомендуют книги, и по Python именно Марка Лутца. Но полистав pdf-файл этой книжки я не смог найти ни одного куска кода, который был бы для меня не понятен.

    Встаёт вопрос: А есть ли смысл читать его?

    Нет. Лучше сразу послать резюме в крупнейшие ИТ-компании мира.
    Ответ написан
    Комментировать
  • Чему учит Марк Лутц?

    @deliro
    и не совсем понимаю необходимости чтения книг.

    Ну тут ты конечно хорошо пошутил:)

    Прочитай Fluent Python, раз Лутц слишком прост. А вообще, в питоне нет чего-то такого, что нужно прям "изучать". Лучше потратить время на дядю Боба с его Чистым кодом и Чистой архитектурой.
    Ответ написан
    4 комментария
  • Логика столкновения kivy python?

    Vindicar
    @Vindicar
    RTFM!
    Ну для начала, зачем удалять и пересоздавать отдельных птиц, если можно просто "телепортировать" их к другому краю экрана?
    Кроме того, если я верно понял, у тебя delete_birds() отработает сразу, не дожидаясь конца анимации, так как метод start() не выполняет анимацию - он только планирует её постепенное выполнение в ходе дальнейшей работы окна. Используй событие on_complete в твоём объекте Animation.
    Подробности, как всегда, в документации.
    Ответ написан
    1 комментарий
  • Как создать службу Windows с помощью Python?

    Vindicar
    @Vindicar
    RTFM!
    Службы в Windows - штука нетривиальная, им нужны дополнительные механизмы управления.
    Если тебе нужно просто завернуть экзешник в службу, NSSM в помощь.
    Ответ написан
    Комментировать
  • Как перечислять переменные в if на Pythone?

    iggor-markin
    @iggor-markin
    Python Developer
    Будет работать в таком случае.

    if "саппорт" in text or "лайк" in text:
    Ответ написан
    1 комментарий
  • Как заставить бота проверять персональные права пользователей?

    Vindicar
    @Vindicar
    RTFM!
    О, сколько нам открытий чудных готовит официальная документация...
    Смотрим GuildChannel.permissions_for(), видим
    Return type: Permissions

    Клик. Читаем (выделено мной):
    Wraps up the Discord permission value.

    The properties provided are two way. You can set and retrieve individual bits using the properties as if they were regular bools. This allows you to edit permissions.

    Т.е. у объекта этого класса есть указанные выше свойства, и значительная доля из них - это логические значения (bool). Тебе нужно manage_channels? Тогда проверка должна выполняться примерно так: if perm.manage_channels:
    Ответ написан
    2 комментария
  • Как отфильтровать список и удалить дубликаты?

    @deliro
    0. Создаёшь пустое множество S
    1. Идёшь по списку
    2. Строку делишь на страну-язык
    3. Проверяешь, что язык не в S
    4. Добавляешь его в S и в результирующий список

    Хорош элементарные вопросы строчить по фундаменту языка и CS в целом

    Ну и как сказал Игорь Маркин, у тебя несколько вариантов, какой строке отдать предпочтение. Первой, последней, рандмной, какой-то ещё? Мы за тебя решать будем?
    Ответ написан
    2 комментария
  • Почему SELECT MAX(uuid) возвращает A-22-999 когда в базе есть A-22-1000?

    Adamos
    @Adamos
    Сравнение строк - посимвольное, без выделения числовых частей. '9' > '1'.
    Стандартными средствами вы тут ничего не добьетесь.
    Ответ написан
    Комментировать
  • Ваше мнение об уходе за MacBook?

    DevMan
    @DevMan
    моё мнение: никакое.
    максимум - хардкейс на сам бук. всё остальное - расходник.

    если для вас железка - не расходник, заверните в пленочку и уберите в шкафчик.
    Ответ написан
    6 комментариев
  • Существуют ли для фреймворков Python'а готовые админки - типа как Laravel Nova?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    У Django из коробки есть админка.
    Ответ написан
    2 комментария