setattr(object, name, value)
Аргументами являются объект, строка и произвольное значение. [...] Функция присваивает значение атрибуту, если объект это допускает. Например, setattr(x, 'age', 40) эквивалентно x.age = 40.
Python documentation
  
  Built-in Functions
  The Python interpreter has a number of functions and types built into it that are always available. They are listed here in alphabetical order.,,,, Built-in Functions,,, A, abs(), aiter(), all(), a...
👍1👎1
  🤨1
  Столбец product определяет группу, к которой принадлежит запись.
Объект GroupBy организует записи в DataFrame в группы на основе данных о продуктах A, B, C в некотором столбце. Предположим, что нас интересует доля одной СТРОКИ в общем объеме ГРУППЫ.
🤷♀2🤓1
  ❤1👍1
  Метод nlargest возвращает максимальные значения из объекта Series. Первый его параметр, n, задает число возвращаемых записей. Аргумент по умолчанию параметра n равен 5. Библиотека pandas cортирует значения в возвращаемом объекте Series в порядке убывания:
google.nlargest(n = 5)
google.nlargest()
👍1👎1
  Какие метод перегрузки операций можно использовать для поддержки итерации в классах?
  Anonymous Quiz
    9%
    __add__, __setitem__
      
    15%
    __next__, __del__
      
    66%
    __getitem__, __iter___
      
    11%
    Никакие из вышеперечисленных
      
    👍2👎1
  Классы могут поддерживать итерацию путем определения (или наследования) метода getitem или iter. Во всех итерационных контекстах Python сначала пытается применить метод iter, возвращающий объект, который поддерживает протокол итерации с помощью метода next: если поиск в иерархии наследования не привел к нахождению метода iter, тогда Python прибегает к методу индексирования__getitem__, многократно вызывая его с последовательно увеличивающимися индексами. В случае использования оператора yield метод next может быть создан автоматически.
👍4
  Некогда объяснять, пора вершить судьбы  😱 
Три разраба прямо сейчас ищут работу — выбери того, кто получит шанс на достойный оффер. Голосуй прямо сейчас!
Все подробности в «Коде найма».
Три разраба прямо сейчас ищут работу — выбери того, кто получит шанс на достойный оффер. Голосуй прямо сейчас!
Все подробности в «Коде найма».
Please open Telegram to view this post
    VIEW IN TELEGRAM
  💩4🤡1
  Forwarded from Код найма
🤡8🖕3💊2
  Какие методы перегрузки операций обрабатывают вывод?
  Anonymous Quiz
    74%
    __str__, __repr__
      
    7%
    __eq__, __iter__
      
    13%
    __getitem__, __setitem__
      
    6%
    Никакие из вышеперечисленных
      
    👍1👎1
  Методы __str__ и ___герг__ реализуют отображения объектов при выводе. Первый вызывается встроенными функциями print() и str(); второй вызывается, если отсутствует __str__, и всегда вызывается встроенной функцией repr, при эхо-выводе в интерактивной подсказке и для вложенных появлений. То есть метод __repr__ применяется везде, исключая print() и str(), когда определен метод str(). Метод __str__ обычно используется для отображений, дружественных к пользователю, а __repr__ предоставляет для объекта дополнительные детали или форму как в коде.
👍1👎1
  «object.__getitem__(self, key)
Вызывается для вычисления self[key]. Для типов последовательностей принимаемые ключи должны быть целыми числами. При необходимости они могут также поддерживать объекты срезов. Поддержка отрицательных индексов также необязательна».
Нарезание перехватывается методом индексирования__getitem__: он вызывается с объектом среза, а не с простым целочисленным индексом, и при необходимости объекты срезов можно передавать или ожидать.
Python documentation
  
  3. Data model
  Objects, values and types: Objects are Python’s abstraction for data. All data in a Python program is represented by objects or by relations between objects. (In a sense, and in conformance to Von ...
  👍4👎1
  «Перегрузка операций должна представляться, когда класс естественным образом согласуется с интерфейсами встроенного типа или должен их эмулировать. Коллекции могут имитировать интерфейсы последовательностей или отображений, а вызываемые объекты могут быть реализованы для использования с API-интерфейсом, который ожидает функцию. Однако в целом вы не должны реализовывать операции выражений, если они естественно и логически не подходят для ваших объектов — взамен применяйте нормально именованные методы».
— Point - логичная перегрузка + (сложение координат точек)
— Person - нелогичная перегрузка + (сложение людей не имеет математического смысла), но код работает и возвращает строку.
Этот пример демонстрирует принцип: перегружайте операции, только когда это логично и естественно для ваших объектов.
👍4👎1
  👍2👎1