Задать вопрос
  • Правильно ли я понимаю устройство классов в python?

    Maksim_64
    @Maksim_64
    Data Analyst
    Нет у тебя абсолютно не правильное представление по все пунктам. Написание хорошего ответа на каждый вопрос потребует дней, при том что на все эти темы можно разговаривать на совершенно разных уровнях. Если хоть как-то в двух словах.
    1. OOP одна из парадигм в программировании в том числе поддерживаемая python.

    2. Объект это python абстракция для данных, все данные в python представлены в виде объектов или взаимоотношений между объектами. Отсюда и выражение все в python является объектом.

    3. В python каждый класс не явно наследуется от object класс. Да даже если мы не переопределим явно __init__ то он там есть. Например
    class MyClass:
        pass
    my_instance = MyClass()
    print(dir(my_instance))
    Там будет в том числе __init__ хотя мы его явно не определяли. __init__ это конструктор класса там могут быть заданы атрибуты которые будут в области видимости экземпляра класса, с которыми будут оперировать методы экземпляра класса, он выполнится при создании экземпляра класса.

    4. По скольку, ты еще совсем новичок, понятия "приватных" и "защищенных" атрибутов обсуждать совсем бессмысленно, к тому же их "приватность" она в ковычках, в python нет способа создать настоящий приватный атрибут, но это все совершенно лишнее для тебя сейчас и в обозримом будущем.

    5. В зависимости от того является ли определенный метод методом класса или методом экземпляра класса, то первый позиционный параметр метода это класс или экземпляр класса. Между программистами python их принято называть cls - для класса, self - для экземпляра класса. Так как ты в начале пути будешь работать с методами экземпляра класса, да и необходимость создавать методы класса она значительно реже.

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

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Ошибка в забытой запятой.
    Ответ написан
    Комментировать
  • Как правильно сформулировать индексы?

    onegreyonewhite
    @onegreyonewhite Автор вопроса
    Методом подбора и внимательного исследования стаковерфлоу, получилось что-то вроде такого:
    1. Нужно в миграцию добавить
      django.contrib.postgres.operations.TrigramExtension()

    2. Нужно для каждого поля создать индекс (на примере name)
      django.contrib.postgres.indexes.GinIndex(django.contrib.postgres.indexes.GinIndex(django.contrib.postgres.indexes.OpClass(Upper('name'), name='gin_trgm_ops')))



    Это капец как неочевидно, но для поиска по icontains работает именно так. Сорян, что потревожил сообщество.
    Ответ написан
    Комментировать
  • Есть ли для Python простые в использовании ORM с поддержкой asyncio и type hints?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Вы все популярные перечислили, в Джанге тоже нет
    че-то был уверен что Пони близко, когда-то юзали ее именно изза скорости, но изза оригинального синтаксиса зареклись....

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

    с другой стороны, если гонитесь за скоростью, то ORM как бы и не нужен,но это мое мнение
    Ответ написан
    1 комментарий
  • Есть ли для Python простые в использовании ORM с поддержкой asyncio и type hints?

    fenrir1121
    @fenrir1121
    Начни с документации
    Алхимия де-факто стандарт. Можно попробовать врапперы над ней, хотя все тоже с проблемами. Eсть подозрения, что сейчас алхимия и пайдентик апнулись до 2 версии и оживет sqlmodel.

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

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вы столкнулись с типичным конфликтом интересов. Видимо стиму не выгодна ваша деятельность и они хотят её осложнить для вас, сделать её для вас дороже.
    Это как борьба с читерством.
    Никто вам не скажет правил, по которым вас блокируют, иначе вы тут же начнёте их обходить. Более того, чтобы правила не обходили, их рандомизируют, динамически меняют, разносят во времени момент принятия решения о недобросовестности клиента и момент его блокировки, чтобы нельзя было по своим действиям и реакции системы блокирования понять и вычислить правила блокировки. Лаг между этими моментами всячески варьируют, рандомизируют, дают разное число попыток, чтобы осложнить подбор и вычисление граничных критериев системы защиты.

    Не факт, конечно, что там именно такая параноидальная и замороченная система, но такое определённо имеет смысл, если надо предотвратить долбёжку и не целевое использование АПИ.

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

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

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Потому что нужно выучить хотя бы базовый синтаксис SQL! Одна строка вставляется одним запросом, каждый инсерт вставляет новую строку!
    execute('INSERT INTO table (FIO, Address, Email) VALUES (?, ?, ?)', ('ФИО', 'Your Address', 'your@email.com'))
    Ответ написан
  • Как сделать возможность редактировать результат?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Перво-наперво вам надо изучить язык, на котором вы предполагаете писать код. Сейчас вы с ним познакомились, а надо - изучить.
    Затем вам надо изучить структуры данных и алгоритмы.
    Также неплохо было бы посмотреть, как устроены программы у других людей, на GitHub к примеру.

    Это в общем.
    В частности, чтобы в вашем коде можно было “менять числа не перезапуская программу”, это надо в программе предусмотреть. Например, так:
    while True:
        Поля = input('Кол-во полей? ')
        Заводы = input('Кол-во заводов? ')
        Лаборатории = input('Кол-во лаб.? ')
        
        print ('Поля', Поля)
        print ('Заводы', Заводы)
        print ('Лаборатории', Лаборатории)

    Это самый простой способ реализации, что называют «в лоб». Как именно это сделать «по уму» - надо приложить ум.
    За вас это могут сделать, но не здесь, а на freelance
    Чтобы вы смогли самостоятельно сделать это, см.первую часть моего ответа.
    Ответ написан
    2 комментария
  • Как подключиться к Wifi на C++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе работать с Wifi на С++ нужно будет только в одном случае - когда ты разработчик драйвера Wifi устройства.

    В остальных случаях - ты пишешь обычные приложения на С++ которые используют сокеты TCP/UDP, которые (сокеты) в свою очередь работают через стек технологий ОС для кидания пакетов в Wifi интерфейсы в соотвествии с правилами таблиц маршрутов.
    Ответ написан
    2 комментария
  • Где искать svg всех городов, районов, областей, стран?

    hint000
    @hint000
    у админа три руки
    CityCat4, почти согласен
    Я бы начал с 2gis или Яндекс-Карт.
    Только не 2gis или Яндекс, а OSM (OpenStreetMap), ибо Open - ничего не спрятано, вот они все исходные данные, вот оно описание формата, легче уж некуда.
    https://www.openstreetmap.org/#map=12/42.8768/74.6013
    https://wiki.openstreetmap.org/wiki/RU:Tag:boundar...
    Ответ написан
    2 комментария
  • Странная не последовательная работа функции в tkinter python?

    @oxidizerby Автор вопроса
    Подошло решение от @Vindicar
    Только немного изменил в моём случае лучше использовать root.update()
    Изменил функцию так:
    def run():
        print(1)
        label1['text'] = 'Но он меняется после sleep и print(2) и print(3)'
        root.update() # Вот эта строка решает проблему!
        print(2)
        sleep(5) # Для наглядности
        print(3)
    Ответ написан
    Комментировать
  • Как мне применить список из функции в другой функции?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    А в чем, собственно, проблема? Передайте это значение в функцию в качестве аргумента, или вон вы глобальной переменной уже пользуетесь, можете и тут наговнокодить так же.
    Вы не объясняете что конкретно у вас не получается. В чем вопрос? Предоставляете довольно объемный код, который, судя по вопросу, написали не вы и чего хотите? Чтобы вам краткий, но исчерпывающий курс по программированию с нуля тут изложили? На какой-то другой ответ в вопросе просто недостаточно информации.

    А бесплатных курсов и репетиторов тут нет.
    Ответ написан
    2 комментария
  • Почему ничего не выводится хотя ошибок нет?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Да вы задрали. Всё он выводит. Программа сразу закрывается, потому что она не обязана ждать. Она ЗАВЕРШИЛАСЬ!
    input() после print напиши и не закроется, пока не нажмешь что-то
    Ответ написан
    1 комментарий
  • Возникла ошибка Type Error в Python при изучении классов. Где и что в коде не правильно?

    Maksim_64
    @Maksim_64
    Data Analyst
    потерял скобки при создании экземпляра класса. deck = Deck(), Я скопировал, твой код и запустил у себя, там следом еще ошибка, вот в этой строе
    elf.cards[i], self.cards[j] = self.cards[j], self.cards[i]
    говорит list index out of range по всей видимости вот в этой строке j = random.randint(i, num_cards-1) Нужно, добавить -1, что я и сделал тогда все работает.
    Ответ написан
    1 комментарий
  • AttributeError: 'NoneType' object has no attribute 'get_text'. Как решить?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В вашем коде не так - это отсутствие проверок на возвращаемые значения. Любой из селекторов может не найти требуемых элементов и вернуть None, а у None никаких методов нет, включая метод get_text.
    Ответ написан
    2 комментария
  • Как мне исправить ошибку KeyError: 18?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Хорошо бы понять, откуда в class_id попадает невалидное значение ключа?
    1. Если такого быть не должно, надо искать причину.
    2. Если такое возможно, надо обрабатывать это исключение через try/except KeyError, либо предварительно валидизировать значение class_id
    Ответ написан
    Комментировать
  • Экстренное завершение работы чат бота Telegram. Как решить проблему?

    nki
    @nki
    bezkart.ru готовая система лояльности
    т.к программирую всего 2 дня

    Тогда вам не с бота надо начинать, а уверенно знать язык и его основные конструкции. Успеете еще ботов написать.
    Ответ написан
    2 комментария
  • Как возвратить курсор на 2 символа назад в консоли?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Комментировать
  • Как корректно отобразить данные из ini файла?

    HemulGM
    @HemulGM Куратор тега Python
    Delphi Developer, сис. админ
    Ini - стандартизированный формат. Для работы с ним есть готовые инструменты
    https://docs.python.org/3/library/configparser.html
    Ответ написан
    Комментировать
  • Как код с графическим интерфейсом на основе PyQt6 собрать в .exe?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега PyQt
    Седой и строгий
    Безотносительно того, как это делается, стоит иметь ввиду, что это незаконно. Лицензия опенсорсного Qt не позволяет включать библиотеку в исполняемый файл, будь то хоть статическая линковка, хоть упаковка.
    Ответ написан
    Комментировать