Запитання з тегом «python-datamodel»


9
Отримання назви класу для екземпляра?
Як я дізнаюся ім'я класу, який створив екземпляр об'єкта в Python, якщо функція, з якої я це роблю, є базовим класом, з якого був похідний клас екземпляра? Думав, може, модуль перевірки, можливо, допоміг мені тут, але, здається, не дає мені того, чого я хочу. І якщо не розбирати __class__члена, я …


15
Як отримати назви параметрів методу?
З огляду на функцію Python: def a_method(arg1, arg2): pass Як я можу отримати число та назви аргументів. Тобто, враховуючи, що я маю посилання func, я хочу func.[something]повернутися ("arg1", "arg2"). Сценарій використання для цього полягає в тому, що у мене є декоратор, і я хочу використовувати аргументи методу в тому ж …

10
Отримайте повністю кваліфіковану назву класу об'єкта в Python
Для цілей ведення журналу я хочу отримати повноцінне ім'я класу об'єкта Python. (Під повною кваліфікацією я маю на увазі назву класу, включаючи назву пакета та модуля.) Я знаю про x.__class__.__name__, але чи є простий метод отримати пакет і модуль?

5
Реалізація нарізки в __getitem__
Я намагаюся реалізувати функціональний фрагмент для класу, який я створюю, що створює векторне уявлення. Я маю цей код до сих пір, і я вважаю, що він належним чином реалізує фрагмент, але щоразу, коли я виконую дзвінок, наприклад, v[4]де v - векторний пітон, повертає помилку про відсутність достатньої кількості параметрів. Тому …

5
Python, чи варто реалізовувати оператор __ne __ () на основі __eq__?
У мене є клас, де я хочу перекрити __eq__()оператора. Здається, є сенс, що мені слід також перевизначити __ne__()оператора, але чи є сенс реалізовувати __ne__на основі __eq__такого? class A: def __eq__(self, other): return self.value == other.value def __ne__(self, other): return not self.__eq__(other) Або є щось, чого мені не вистачає з тим, …


11
Не допускати створення нових атрибутів за межами __init__
Я хочу мати можливість створити клас (на Python), який після ініціалізації за допомогою __init__не приймає нових атрибутів, але приймає модифікації існуючих атрибутів. Існує декілька хакерських способів зробити це, наприклад, маючи такий __setattr__метод, як def __setattr__(self, attribute, value): if not attribute in self.__dict__: print "Cannot set %s" % attribute else: self.__dict__[attribute] …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.