Вопросы с тегом «introspection»

Способность некоторых объектно-ориентированных языков программирования определять тип объекта во время выполнения.

1438
Получение имени класса экземпляра?

Как узнать имя класса, который создал экземпляр объекта в Python, если функция, из которой я делаю это, является базовым классом, из которого был получен класс экземпляра? Я думал, что модуль проверки мог бы помочь мне здесь, но, похоже, он не дает мне то, что я хочу. И если не считать анализа...

479
Определить имя функции из этой функции (без использования traceback)

В Python, без использования tracebackмодуля, есть ли способ определить имя функции из этой функции? Скажем, у меня есть модуль foo с функциональной панелью. При выполнении foo.bar(), есть ли способ для бара узнать имя бара? Или еще лучше, foo.barкак зовут? #foo.py def bar(): print "my name is",...

431
Нахождение каких методов у объекта Python

Имеется ли какой-либо объект Python любого типа, есть ли простой способ получить список всех методов, которые есть у этого объекта? Или, если это невозможно, есть ли хотя бы простой способ проверить, есть ли у него конкретный метод, кроме простой проверки, возникает ли ошибка при вызове...

291
Как мне посмотреть внутри объекта Python?

Я начинаю программировать в различных проектах с использованием Python (включая веб-разработку Django и разработку игр Panda3D). Чтобы помочь мне понять, что происходит, я бы хотел «заглянуть» внутрь объектов Python, чтобы увидеть, как они помечаются - как их методы и свойства. Скажем, у меня есть...

236
Как получить имена параметров метода?

Учитывая функцию Python: def a_method(arg1, arg2): pass Как я могу извлечь количество и имена аргументов. То есть, учитывая, что у меня есть ссылка наfunc , я хочу func.[something]вернуться ("arg1", "arg2"). Сценарий использования для этого заключается в том, что у меня есть декоратор, и я хочу...

231
Использование isKindOfClass с Swift

Я пытаюсь взять немного Swift lang, и мне интересно, как преобразовать следующий Objective-C в Swift: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesBegan:touches withEvent:event]; UITouch *touch = [touches anyObject]; if ([touch.view isKindOfClass:...

188
Как получить имя метода вызывающего в вызываемом методе?

Python: Как получить имя метода вызывающего в вызываемом методе? Предположим, у меня есть 2 метода: def method1(self): ... a = A.method2() def method2(self): ... Если я не хочу вносить какие-либо изменения для method1, как получить имя вызывающей стороны (в данном примере имя method1) в...

128
Получение унаследованных имен / значений атрибутов с помощью Java Reflection

У меня есть объект Java "ChildObj", который является расширением "ParentObj". Теперь, можно ли получить все имена и значения атрибутов ChildObj, включая унаследованные атрибуты, используя механизм отражения Java? Class.getFields дает мне массив общедоступных атрибутов, а Class.getDeclaredFields...

124
Как мне получить доступ к свойствам объекта javascript, если я не знаю имен?

Скажем, у вас есть такой объект javascript: var data = { foo: 'bar', baz: 'quux' }; Вы можете получить доступ к свойствам по имени свойства: var foo = data.foo; var baz = data["baz"]; Но возможно ли получить эти значения, если вы не знаете названия свойств? Неужели неупорядоченность этих свойств...

121
Получить поля модели в Django

Учитывая модель Django, я пытаюсь перечислить все ее поля. Я видел несколько примеров этого с использованием атрибута модели _meta, но разве подчеркивание перед мета не означает, что атрибут _meta является частным атрибутом и к нему нельзя обращаться напрямую? ... Потому что, например, макет _meta...

121
Самоанализ и обобщения в классе Swift

Я пытаюсь динамически создать classтип на основе экземпляра с использованием универсальных шаблонов, однако у меня возникают трудности с самоанализом класса. Вот вопросы: Есть ли Swift-эквивалент Obj-C self.class? Есть ли способ создать экземпляр класса, используя AnyClassрезультат...

109
Получить список свойств объекта в Objective-C

Как я могу получить список (в форме NSArrayили NSDictionary) свойств данного объекта в Objective-C? Представьте себе следующий сценарий: Я определил родительский класс , который только расширяет NSObject, что держит NSString, BOOLи в NSDataобъект как свойства. Затем у меня есть несколько классов,...

107
Перечислить все модули, входящие в пакет python?

Есть ли простой способ найти все модули, входящие в пакет python? Я нашел это старое обсуждение , которое не является окончательным, но мне хотелось бы получить определенный ответ, прежде чем я разверну свое собственное решение на основе os.listdir...

104
Можете ли вы перечислить аргументы ключевых слов, которые получает функция?

У меня есть словарь, в котором мне нужно передать ключи / значения в качестве аргументов ключевого слова .. Например .. d_args = {'kw1': 'value1', 'kw2': 'value2'} example(**d_args) Это работает нормально, но если в d_args dict есть значения, которые не принимаются exampleфункцией, очевидно, что...

99
Как мне получить путь к файлу для класса в Python?

Учитывая класс C в Python, как я могу определить, в каком файле был определен класс? Мне нужно что-то, что может работать либо с классом C, либо с экземпляром с C. Причина, по которой я это делаю, заключается в том, что я вообще фанат того, что файлы, которые принадлежат друг другу, находятся в...

98
Получить __name__ модуля вызывающей функции в Python

Предположим, myapp/foo.pyсодержит: def info(msg): caller_name = ???? print '[%s] %s' % (caller_name, msg) И myapp/bar.pyсодержит: import foo foo.info('Hello') # => [myapp.bar] Hello В этом случае я хочу caller_nameустановить __name__атрибут модуля вызывающих функций (которым является...