Вопросы с тегом 'magic-methods'

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

Разница между __str__ и __repr__?

В чем разница между __str__ и __repr__ в Python?
17 сент. '09 в 4:27
20

Удалить столбец из панды DataFrame

При удалении столбца в DataFrame я использую: del df['column_name'] И это прекрасно работает. Почему я не могу использовать следующее? del df.column_name Поскольку вы можете получить доступ к столбцу/Серии как df.column_name, я ожидаю, что это с...
16 нояб. '12 в 6:26
13

Практический пример специального метода Python __call__

Я знаю, что метод __call__ в классе запускается при вызове экземпляра класса. Однако я не знаю, когда я могу использовать этот специальный метод, потому что можно просто создать новый метод и выполнить ту же операцию, что и в методе __call__, и вмес...
28 апр. '11 в 20:54
9

Наилучшая практика: магические методы PHP __set и __get

Возможный дубликат: Являются ли методы магии лучшими в PHP? Это простые примеры, но представьте, что у вас больше свойств, чем два в вашем классе. Что было бы лучше всего? a) Использование __get и __set class MyClass { private $firstFie...
31 мая '11 в 7:34
3

Как работает python numpy.where()?

Я играю с numpy и копаю документацию, и я наткнулся на какую-то магию. А именно я говорю о numpy.where(): >>> x = np.arange(9.).reshape(3, 3) >>> np.where( x > 5 ) (array([2, 2, 2]), array([0, 1, 2])) Как они достигают внутри...
12 апр. '11 в 22:39
2

scala slick метод, который я пока не понимаю

Я пытаюсь понять некоторые работы Slick и то, что он требует. Вот пример: package models case class Bar(id: Option[Int] = None, name: String) object Bars extends Table[Bar]("bar") { def id = column[Int]("id", O.PrimaryKey, O.AutoInc) // This...
16 дек. '12 в 23:51
7

Почему python использует "магические методы"?

Недавно я играл с Python, и одна вещь, которую я нахожу немного странной, - это широкое использование "магических методов", например. чтобы сделать свою длину доступной, объект реализует метод def __len__(self), а затем вызывается при написании len(...
17 апр. '10 в 7:26
3

Как работает магия метода Scala apply()?

В Scala, если я определяю метод с именем apply в классе или объекте верхнего уровня, этот метод будет вызываться всякий раз, когда я добавляю пару скобок к экземпляру этого класса и помещаю соответствующие аргументы для apply() между ними. Например:...
03 авг. '09 в 18:18
7

Методы магии PHP __get и __set

Если я не ошибаюсь, методы __get и __set должны допускать перегрузку → get и set. Например, следующие операторы должны ссылаться на метод __get: echo $foo->bar; $var = $foo->bar; И следующее должно использовать метод __set: $foo->bar...
17 янв. '11 в 13:30
4

Создание класса, определяемого пользователем python, сортируемого, хешируемого

Какие методы нужно переопределять/реализовывать при создании пользовательских классов, сортируемых и/или хешируемых в python? Зачем нужны часовые? Я набираю dir({}) в свой интерпретатор, чтобы получить список методов на встроенных dicts. Из них я ...
22 авг. '11 в 19:25
2

Как документировать методы магии (_call и _callStatic) для IDE

После многих счастливых лет кодирования в блокноте ++ и возвышенном, мне посоветовали дать PHP IDE. Я пытаюсь phpStorm, и мне кажется, что это хорошо. Завершение и документация кода - отличная функция, но не работает для меня, когда используются маги...
26 мар. '13 в 9:54
4

Что такое атрибут __dict __.__ dict__ класса Python?

>>> class A(object): pass ... >>> A.__dict__ <dictproxy object at 0x173ef30> >>> A.__dict__.__dict__ Traceback (most recent call last): File "<string>", line 1, in <fragment> AttributeError: 'dictproxy'...
02 февр. '11 в 16:52
9

Возможно ли перегрузить назначение Python?

Есть ли волшебный метод, который может перегрузить оператор присваивания, например __assign__(self, new_value)? Я хотел бы запретить повторное связывание для экземпляра: class Protect(): def __assign__(self, value): raise Exception("This is ...
13 июн. '12 в 23:13
7

PHP - косвенная модификация перегруженного имущества

Я знаю, что этот вопрос задавали несколько раз, но ни один из них не имеет реального ответа для обходного пути. Может быть, есть один для моего конкретного случая. Я создаю класс mapper, который использует магический метод __get() для ленивой загру...
04 мая '12 в 19:10
1

Как перегрузить метод Python __bool__?

Возможный дубликат: определение "boolness" класса в python Я думал, что это должно печатать "False", почему он печатает "True"? >>> class Foo(object): ... def __bool__(self): ... return False ... >>> f = Foo() >&...
18 янв. '12 в 12:14