Ответы пользователя по тегу Программирование
  • Scrapy как сохранять большие объемы данных?

    @fireSparrow
    В целом, конечно, это зависит от того, как вы потом хотите с этими данными работать. Но вообще каких-то особых проблем быть не должно, 400 000 строк - это не так уж и много.
    Ответ написан
    Комментировать
  • Python Какой наиболее оптимальный способ проверки есть ли общий элемент?

    @fireSparrow
    signs=('.','!','?')
    sign = lambda a: bool(set(a) & set(signs))
    Ответ написан
    Комментировать
  • Как присвоить нескольким классам одинаковое значение переменной внутри?

    @fireSparrow
    Похоже, вы не очень понимаете, как работают классы.

    Если вы создаёте аттрибут self.color - то это аттрибут экземпляра, а не класса. Вы не сможете обратиться к значению этого аттрибута через класс, это значение будет разное для каждого экземпляра.
    Ответ написан
    Комментировать
  • Насколько важно ООП в Python?

    @fireSparrow
    ООП совершенно необходимо, если вы собираетесь писать что-то большее, чем скрипты на 30 строк.

    Учить ООП через мобильное приложение я бы не стал. Я пробовал приложение от SoloLearn по SQL, несколько минут в него повтыкал и удалил. Это баловство, серьёзную тему так изучить нельзя. Неудивительно, что вы ничего не поняли.
    Читайте книги и пишите свой код.

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

    @fireSparrow
    Я вот из техподдержки/администрирования недавно перешёл в программисты (тоже Python).
    Первую работу действительно найти трудновато.
    Но если потратить на поиски 2-3 месяца, то в итоге найдёшь место, где будут смотреть не на прошлый опыт, а на то, что ты знаешь и умеешь сейчас. И тут уж от тебя зависит.
    Сейчас у меня з/п 70 тр (это уже чистыми), после окончания испытательного срока обещают 80. Для первой работы в новой области - имхо, очень даже неплохо.

    Но знания уже должны быть, совсем нулевого человека не возьмёт никто.

    В первую очередь стоит выучить Python, SQL, sqlalchemy, git.
    Очень хорошо, если есть опыт работы с Linux на уровне продвинутого пользователя.
    Ну и мониторьте вакансии на hh по слову Python - посмотрите, что там ещё чаще всего пишут в требованиях. Совсем всё учить не нужно, лучше остановиться на нескольких самых частых пунктах, но их-то освоить нормально.

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

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

    Но это всё верно, если вам действительно нравиться программирование. Только ради зарплаты я бы не рекомендовал идти в эту отрасль - здесь нужно постоянно изучать много нового, даже в нерабочее время. Без интереса просто не получиться это делать.
    Ответ написан
    Комментировать
  • Python: замена ключевого слова значениями из списка по порядку следования?

    @fireSparrow
    В строчке
    text = text.replace('Image', list, 1)

    Нужно добавить индекс - чтобы на каждом шаге подставлялся только элемент с этим индексом, а не весь список:

    text = text.replace('Image', list[i], 1)

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

    @fireSparrow
    В том коде, который вы привели, нужно после каждого вызова переменной добавить приращение на единицу:

    value += 1

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

    Или ещё можно взять итератор count из стандартной библиотеки itertools, и обращаться к нему через next().

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

    @fireSparrow
    Я использую Anki - это программа, которая изначально была создана для запоминания слов иностранных языков.
    Очень удобно - в метро каждое утро трачу 10 минут на повторение.
    Anki хороша тем, что в ней реализован принцип интервального повторения. То есть, в первые дни каждую заучиваемую единицу программа показывает каждый день, а потом, если она хорошо усвоилась - всё реже и реже.
    Таким образом можно выучить и поддерживать в активной памяти большой массив информации, затрачивая совсем немного времени.

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

    @fireSparrow
    Имхо, универсального доказательства здесь не может быть.
    Только для каких-то конкретных категорий задач, для каждой - своим способом.
    Ответ написан
    Комментировать