Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (11)

Лучшие ответы пользователя

Все ответы (12)
  • Добавить запись в таблицу PostgreSQL, ругается на id?

    @rudikov
    Если у Вас тип integer, то нет.
    Для инкремента нужно использовать тип SERIAL.
    Ответ написан
    4 комментария
  • Объекты в python?

    @rudikov
    Касательно фразы "Объект это ведь экземпляр класса".
    Эта фраза из объектно-ориентированного программирования (ООП). Сама она значит, что у каждого объекта есть какой-то класс, или иначе говоря объект является его экземпляром. Но здесь Вы смешиваете объектную модель Python с ООП, а это разные вещи. В Python любой экземпляр класса это объект, но далеко не все объекты это просто экземпляры класса.
    К примеру, объектом является также класс, экземпляры этого класса (которые в ООП и называются объектами) тоже объекты, но лишь одни из возможных видов объектов в Python.
    В Python, чтобы быть объектом участку памяти нужно иметь тип и количество ссылок на этот участок памяти (https://habrahabr.ru/company/buruki/blog/189986/).
    Перечень всех встроенных типов можно найти здесь: https://docs.python.org/3/library/stdtypes.html.

    Что касается "объект строки это экземпляр от какого то класса?".
    Если говорить на языке ООП есть класс строк (в Python его имя str), любая конкретная строка, например 'я_строка', есть экземпляр класса строк или, иначе говоря, объект класса строк.
    А если говорить на языке объектной модели Python: str - класс объектов, который и сам тоже объект.
    А любой его экземпляр (какая-либо строка) - тоже объект.
    В общем в ООП экземпляр и объект одно и то же, в Python - нет.

    С практической точки зрения фраза "все есть объект" говорит, что что угодно можно присвоить переменной, передать в качестве аргумента функции, вернуть, как результат функции и т.д.
    Например, в качестве аргумента или результата функции может быть другая функция или даже какой-либо класс (встроенный или созданный Вами).
    Вообще такие вещи определяют гибкость языка, что в свою очередь иногда позволяет сделать значительно более простое и короткое решение.
    Ответ написан
    1 комментарий
  • Разница операторов в Python?

    @rudikov
    В Python2 есть два оператора не равно. Вы их привели и разницы между ними нет.
    В Python 3 нет оператора <>. Оператор "не равно" в Python 3 обозначается только как !=
    Ответ написан
    Комментировать
  • Оператор % в Python?

    @rudikov
    С положительными числами думаю все очевидно.
    25.5%2.25 раскладывается как 2.25*11 + 0.75.
    С отрицательными числами будет так.
    -22.5%2.25 раскладывается как 2.25*(-12) + 1.5
    Дело в том, что мы не можем умножить на -11, так как это даст -24.75, что больше -25.5. Поэтому и умножается на -12.
    Ответ написан
    Комментировать
  • Как отсортировать в обратном порядке словарь на Питоне (по значениям)?

    @rudikov
    Если Вам на выходе нужен именно словарь, то только через OrderedDict.

    Сортировку и упорядочивание можно сделать так.
    from collections import OrderedDict
    sorted_dict = OrderedDict(sorted(dict.items(), key=lambda x: -x[1]))
    Ответ написан
    Комментировать