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

Почему Python использует «магические методы»?
Я недавно играл с Python, и одна вещь, которую я нахожу немного странной, - это широкое использование «магических методов», например. чтобы сделать свою длину доступной, объект реализует метод def __len__(self) , а затем вызывается при написании...
29890 просмотров
schedule 03.03.2024

Магические методы в Python
Я новичок в Python, и мне интересно, есть ли способ создать что-то вроде магических методов в PHP ( http://www.php.net/manual/en/language.oop5.overloading.php#language.oop5.overloading.methods ) Моя цель - облегчить доступ к дочерним классам в моей...
789 просмотров
schedule 10.04.2022

Странное поведение CakePHP с beforeFilter: я не могу установить переменные в представление
Хорошо, это потребует некоторой настройки: Я работаю над методом использования красивых заголовков сообщений в URL-адресах моего блога на cakePHP. Например: /blog/post-title-here вместо /blog/view_post/123 . Поскольку я, очевидно, не...
1263 просмотров
schedule 02.05.2024

Каковы недостатки использования магических методов? как сокращать их в дочерних классах?
Я широко использую магические методы для многих целей, таких как общие сеттеры и геттеры, реализованные классы-оболочки с использованием __call(). Теперь я изучил доктрину, и мне стало интересно, что они не использовали магические геттеры и сеттеры,...
1564 просмотров
schedule 20.11.2023

Как реализовать __iadd__ для свойства Python
Я пытаюсь создать свойство Python, в котором добавление на месте обрабатывается другим методом, чем получение значения, добавление другого значения и переназначение. Итак, для свойства x объекта o , o.x += 5 должно работать иначе, чем...
5732 просмотров

Функция PHP Empty не работает, когда магический метод __get и __set определен в классе
В настоящее время я работаю в среде YII, где я создал класс, расширяющий CFormModel, В этом классе я переопределяю следующие функции: public function __get($name) public function __set($name, $value) Я установил следующие проверки, чтобы...
427 просмотров
schedule 01.04.2023

__get не вызывается, если __set не вызывается, однако код работает?
Вот мой код: <?php class SampleClass { public function __get($name){ echo "get called"; echo $name; } public function __set($name, $value) { echo "set called"; } } ?> И мой индексный файл:...
1038 просмотров
schedule 23.08.2022

Проверьте, существует ли свойство в волшебных свойствах
Есть много ТАК вопросов по этому вопросу, особенно этот , но это не помогает меня. Между property_exists и isset существует двусмысленность, поэтому, прежде чем задать свой вопрос, я укажу на это: свойство_существует property_exists...
10453 просмотров
schedule 02.08.2023

Магические методы PHP — __get и __set не работают в php MVC framework serviceFactory
Я создал экземпляр serviceFactory в index.php, который просто получает/сохраняет (частные) переменные в себе. Но магические методы __get и __set почему-то не работают. Выполнение var_dump($serviceFactory->language) в индексе возвращает false. Когда...
847 просмотров
schedule 12.07.2022

Получение имени класса из метода другого класса
Я хотел бы знать, есть ли способ получить доступ к информации, когда метод вызывается внутри класса. Пример. Здесь у меня есть класс с методом __classStatic() для генерации произвольных методов. class Caller { public function...
54 просмотров
schedule 19.09.2022

Магический метод PHP __invoke, пустые переменные экземпляра
Я столкнулся с проблемой при вызове __invoke() для объекта. Является ли метод __invoke() независимым от переменных экземпляра? Мне нужно вызвать __invoke() непосредственно в моих шаблонах из-за некоторой инъекции ZF2 для вызова...
523 просмотров

произвольный распаковываемый функторный класс в python
Есть ли способ реализовать класс, чтобы его можно было сопоставить с функцией карты и распаковать как кортеж? Что-то такое: class T ... t = T(1,[1,2,3]) a, b = t a==1 #True b==[1,2,3] #True list(map(str,t))==['1','2','3'] #True Пробовал...
975 просмотров
schedule 11.07.2023

ссылка на __init__.__kwdefaults__ против явного написания словаря
Python 3, новый для кодирования и Python. я создал словарь класса со значениями по умолчанию, затем попытался создать вложенный словарь на основе этого словаря класса и столкнулся с неожиданным поведением: class User: def __init__(self, *,...
57 просмотров
schedule 02.05.2022

Как запустить функцию блокнота ipynb из блокнота с аргументами
У меня есть функция ноутбука jupyter def add_args(a: int, b: int) -> int: return a + b a = sys.argv[1] # 0 is file name b = sys.argv[2] print("sum of {} and {} is {}".format(a, b, add_args(a, b))) Я хочу выполнить эту...
18 просмотров
schedule 05.12.2022