Ответы пользователя по тегу Python
  • Как найти стажировку для backend junior?

    @fireSparrow
    Отсутствие профильного образование - вообще не проблема.
    У меня экономическое, до текущего года только время от времени в качестве хобби что-то писал. В феврале устроился программистом, причём сразу на мидловскую позицию.

    Да, нужно быть готовым, что в 85% случаев вас будет собеседовать предвзятый HR или айтишник-самодур, которые могут прицепится и к тому, что образование неоконченное и боевого опыта нет. Но в остальных 15% случаев собеседующему будет в первую очередь интересно, что вы знаете и умеете. И вам только плюсом будут все эти вещи, может и обрывочные, но освоенные самостоятельно. Просто подробно расскажите всё то же самое, что вы описали нам.
    Ответ написан
    Комментировать
  • Почему в массив объектов добавляется только последний объект созданный в цикле?

    @fireSparrow
    В этой строке
    this = self.neiron
    в переменную this у вас попадает значение self.neiron
    Т.к. нигде в этом цикле вы ничего не делаете с self.neiron, то на следующий итерации в новый this попадёт тот же самый объект. Т.е. фактически всё, что дальше вы добавляете в список, будет просто множеством указателей на один и тот же объект.
    И каждый раз, когда вы меняете вес у объекта по одному из этих указателей, все остальные указатели будут указывать уже на этот измёненный объект. У вас не получится таким образом сделать, чтобы разные указатели указывали на разный версии одного и того-же объекта.

    Выход: вот в этой строке
    this = self.neiron
    нужно делать копию self.neiron перед записью его в this. Тогда это будут действительно разные объекты, которыми можно манипулировать независимо.
    Ответ написан
  • Что за хайп вокруг питона?

    @fireSparrow
    Кроме TOBIE есть и другие рейтинги языков программирования.

    Рейтинг github - питон на втором месте.
    Рейтинг IEEE Spectrum - питон на первом месте.

    Питон очень прост и великолепно подходит для обучения основам программирования. Про Java, C, C++, которые по версии TOBIE опережают питон, такого сказать нельзя.
    Питон, скорее всего, ещё приподнимется в ближайшее время на волне интереса к машинному обучению, а вот Java, C и C++, скорее всего немного просядут.

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

    @fireSparrow
    В последних версиях питона появился синтаксический сахар для форматирования строк, с которым всё становится совсем изящно и лаконично:

    alias = [f'www.{val} {val}' for val in alias]
    Ответ написан
  • Какие есть современные фреймворки для Python кроме Django?

    @fireSparrow
    Я на pyramid работал, он попроще джанги.
    Ответ написан
    Комментировать
  • Какую операционную систему использовать для разработки на Python?

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

    Лично у меня и дома и на работе стоит Linux Mint и я его всячески рекомендую - под капотом у него та же убунта, но интерфейс гораздо приятнее и попривычнее для пользователя винды.
    Ответ написан
    Комментировать
  • Python 3 | Какая ошибка в функции создания словаря?

    @fireSparrow
    Как правильно сделать, вам уже ответили, а я хочу прояснить одно из ваших затруднений:

    list(map(text(), self.polya))

    Этот код действительно не будет работать.
    В глобальной области видимости у вас нет функции 'text', она существует только как метод внутри конкретных объектов. Обратиться в 'map' к методам итерируемых объектов можно через лямбда-функцию:

    list(map(lambda o: o.text(), self.polya))

    ЗЫ: Брать в качестве имён русские слова, написанные транслитом, - дурной стиль. Используйте английские слова.
    Ответ написан
    Комментировать
  • Как реализовать поиск вхождений разной длины в строку с большего к меньшей?

    @fireSparrow
    В модуле collections есть структура OrderedDict, которая является словарём, хранящим порядок элементов.
    Если заполнить его парами ключ-значение в порядке убывания длины ключа, то именно так их он и сохранит, и при итерации будет отдавать сначала длинные ключи.
    Единственное, что нужно помнить - после того, как такой словарь построен, при необходимости добавить новую пару, словарь нужно будет целиком заново перестраивать.
    Ответ написан
    Комментировать
  • Возможно ли разработать полноценный красивый сайт для web, используя только и только средства одного языка программирования?

    @fireSparrow
    Вся веб-разработка делится на фронтенд и бэкенд.
    Фронтенд - это то, что в итоге придёт в браузер пользователя и будет ему показано.
    Бэкенд - это про то, как на стороне сервера подготовить то, что нужно отправить на сторону фронтенда и поддерживать коммуникацию с ним.

    И вот если бэкенд можно писать вообще на чём угодно, главное чтобы эта технология могла быть запущена на сервере и потом получать запросы от пользователей и отправлять им ответы, то фронтенд строго ограничен тем, что может понять и отобразить браузер. А браузер понимает только HTML+CSS+JS.
    Ответ написан
    Комментировать
  • А нельзя этот аргумент присвоить переменной?

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

    Но вы можете сделать функцию-обёртку:
    def msend(u='', m=''):
      return messages.send(user_id=u, message=m)


    А потом вызывать её так:
    msend(u='some_id', m='some_text')
    Ответ написан
    Комментировать
  • Какие книги или курсы/статьи посоветуете для изучения Питона для того кто знает c# и js?

    @fireSparrow
    Начните с этого:
    https://pythonworld.ru/samouchitel-python

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

    UPD: И ещё погуглите по запросу "идиоматический питон" - найдёте хорошие подборки "best practices"
    Ответ написан
    Комментировать
  • Могут ли два объекта разных типов иметь одинаковый хэш?

    @fireSparrow
    Не нужна тут ни какая защита.
    У хэша нет задачи быть разным для разных объектов. Хэш нужен в основном для того, чтобы обеспечивать работу таких структур данных как словарь или множество. А там коллизии (ситуации, когда разные объекты имеют одинаковый хэш) - вполне штатное явление.
    Хотя, конечно, и стараются делать так, чтобы оно возникало не очень часто, иначе производительность проседает.

    Если интересны подробности, почитайте про хэш-таблицы:
    https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%...
    Ответ написан
  • Почему не могу записать строку в текст (python3)?

    @fireSparrow
    Про то, что сеанс работы с файлом нужно закрывать, вам уже сказали.
    Я хочу добавить к этому пару моментов:

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

    with open('some_file', 'w') as txt:
        txt.write('Hello world!')


    2. Если вы создаёте переменную внутри try, то любые манипуляции с этой переменной тоже должны происходить внутри этого же блока try. А то исключение ошибки ввода-вывода вы отловили, но если такая ошибка произойдёт, то переменная txt не создастся, и у вас выскочит исключение NameError, когда вы попытаетесь сделать txt.write(st).

    3. Точки с запятой в питоне не ставят.
    Ответ написан
  • Можно ли в функции def задать параметр который может и не быть?

    @fireSparrow
    def send(test, tost=None):
        if tost is None:
            # Выполняем какие-то действия если был указан только первый аргумент
        else:
            # Выполняем какие-то действия, если были указаны оба аргумента
    Ответ написан
    2 комментария
  • Использовать ли Python, когда можно обойтись bash?

    @fireSparrow
    Без кода сложно говорить что-то конкретное.

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

    Вот этот код у меня грузит процессор на 99-100%

    while True:
        x = range(3)


    А вот с этим процесс python3 я почти вообще не вижу в выводе команды top. Он там появляется всего несколько раз в минуту с какой-то смешной цифрой вроде 0,2 % загрузки процессора.

    import time
    
    while True:
        x = range(3)
        time.sleep(0.1)


    Так что используйте задержки в цикле и будет вам счастье.
    Ответ написан
    Комментировать
  • Что в python может быть неизменяемым и нехэшируемым объектом?

    @fireSparrow
    Для стандартных типов-контейнеров (кортеж, frozenset) хэш вычисляется на основе хэшей его элементов.
    Соответственно, чтобы для контейнера можно было вычислить хэш, мало одного условия неизменяемости самого объекта, нужно чтобы неизменяемыми были и все его элементы.

    Поэтому кортежи (1, 2, 3) и (1, 2, [3]) оба являются неизменяемыми, но хэшируемым - только первый из них.
    Ответ написан
    Комментировать
  • Можно ли написать программу для чтения, обработки и записи данных на Python?

    @fireSparrow
    Возможно вы удивитесь, но большинство программ на практически любом языке программирования выполняет чтение, обработку и запись данных. В том числе и программы на питоне.
    Ответ написан
    Комментировать
  • Что это за язык програмирования и что такое Т?

    @fireSparrow
    Про язык сказать не могу, но это явно что-то строго типизированное и T - это какой-то тип. Питон не является строготипизированным языком, тип в нём не указывается, поэтому вам вообще не обязательно знать, что такое Т, чтобы написать что-то подобное на питоне.

    И структур в питоне нет, ближайший аналог - namedtuple.
    Но я предлагаю делать через обычный класс, а inorderTraversal сделать его методом.
    Ответ написан
    1 комментарий
  • Как отсортировать символы строки в порядке "AaBbCc..." в python?

    @fireSparrow
    Один вариант вам уже подсказали, а я бы сделал иначе, без забивания всего алфавита в код:
    key = lambda c: (c.lower(), c.islower())
    print(''.join(sorted(s, key=key)))
    Ответ написан
    Комментировать
  • Как недопустить того, чтобы последующие значения прогноза были меньше предыдущих?

    @fireSparrow
    С хвалёной библиотекой не работал. Но, скорее всего, в вашем случае имеет смысл прогнозировать не сами значения, а величину прироста.
    Ответ написан