Ответы пользователя по тегу Python
  • Игровая библиотека для Python?

    @rudikov
    Попробуйте Arcade.
    https://habr.com/company/otus/blog/419761/
    Ответ написан
    Комментировать
  • Обязательно ли использовать C# с Unity?

    @rudikov
    Согласно документации - нет. Приведу строки:
    Unity supports two programming languages natively:
    - C# (pronounced C-sharp), an industry-standard language similar to Java or C++;
    - UnityScript, a language designed specifically for use with Unity and modelled after JavaScript.
    In addition to these, many other .NET languages can be used with Unity if they can compile a compatible DLL - see here for further details.

    Для разработки на Unity лучше использовать C#, 90% информации по кодингу (субъективное мнение) будет с использованием C#.
    Ответ написан
    Комментировать
  • Объекты в 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 комментарий
  • Что означает dot и transpose?

    @rudikov
    dot - перемножение матриц.
    transponse - транспонированиие.
    a - строка из трех столбцов.
    Вы же помните, что, чтобы умножить матрицы A и B, число столбцов A должно соответствовать числу строк B?
    Иначе говоря размерности двух матрицы должны быть (x, y) (y, t), где x, y, t - любые целые неотрицательные.
    Ответ написан
    Комментировать
  • Оператор % в 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.
    Ответ написан
    Комментировать
  • Разница операторов в Python?

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

    @rudikov
    Если вкратце: берется целое число слева.
    7//3 даст 2, так как ответ 2,(3). То есть до тройки еще не дошло.
    -7//3 даст -3, так как ответ -2,(3). То есть до минус двойки не дошло.
    7//-3 равнозначен -7//3, а -7//-3 равнозначен 7//3.
    Ответ написан
    Комментировать
  • Как отсортировать в обратном порядке словарь на Питоне (по значениям)?

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

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

    @rudikov
    Тут проблема не в Pickle.
    Вы же дампите в одном python-модуле, а извлекаете в другом?
    Pickle не сохраняет полностью класс, он, как бы создает ссылку на этот класс (поправьте, более разбирающиеся).
    В итоге, когда Вы в другом модуле загружаете с помощью pickle класс, он пытается найти этот класс в самом модуле. Но в модуле его то нет. Can't get attribute.
    Зачем Вы используете pickle, зачем вообще дампить класс? Если он нужен в другом модуле - сделайте импорт.
    Pickle используют для загрузки и сохранения объектов, я имею в виду экземпляры классов, в питоне то всё - объекты.
    Ответ написан