Запитання з тегом «introspection»

Можливість деяких об'єктно-орієнтованих мов програмування визначати тип об'єкта під час виконання.

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



19
Визначення назви функції з цієї функції (без використання прослідкування)
У Python, не використовуючи tracebackмодуль, є спосіб визначити ім'я функції з цієї функції? Скажіть, у мене модуль foo з панеллю функцій. Чи є під час виконання foo.bar()бар спосіб дізнатись ім'я бару? Або ще краще, foo.barім'я? #foo.py def bar(): print "my name is", __myname__ # <== how do I calculate this …

17
Пошук методів, якими володіє об’єкт Python
З огляду на будь-який тип об’єкта Python, чи є простий спосіб отримати список усіх методів, якими володіє цей об’єкт? Або, якщо це неможливо, чи є принаймні простий спосіб перевірити, чи є у нього певний метод, крім простої перевірки, чи виникає помилка при виклику методу?

22
Як я заглядаю всередину об’єкта Python?
Я починаю кодувати різні проекти за допомогою Python (включаючи веб-розробку Django та розробку ігор Panda3D). Щоб допомогти мені зрозуміти, що відбувається, я хотів би в основному "заглянути" всередині об'єктів Python, щоб побачити, як вони галочують - як їхні методи та властивості. Так що скажіть, у мене є об’єкт Python, що …

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

5
Використання 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: UIPickerView.class]) { //your touch was in a uipickerview ... do whatever you have to do } } Більш …

8
Як отримати ім'я методу абонента в методі, що викликається?
Python: Як отримати ім'я методу абонента в методі, що викликається? Припустимо, у мене є 2 методи: def method1(self): ... a = A.method2() def method2(self): ... Якщо я не хочу робити жодних змін для method1, як отримати ім'я абонента (у цьому прикладі ім'я method1) у method2?



14
Отримання спадкових імен / значень атрибутів за допомогою відображення Java
У мене об’єкт Java 'ChildObj', який розширено від 'ParentObj'. Тепер, якщо можливо отримати всі імена атрибутів та значення ChildObj, включаючи також успадковані атрибути, використовуючи механізм відображення Java? Class.getFields надає мені масив публічних атрибутів, а Class.getDeclaredFields надає мені масив усіх полів, але жодне з них не включає список успадкованих полів. Чи …

8
Як отримати доступ до властивостей об’єкта javascript, якщо я не знаю імен?
Скажіть, у вас є такий об'єкт javascript: var data = { foo: 'bar', baz: 'quux' }; Ви можете отримати доступ до властивостей за назвою властивості: var foo = data.foo; var baz = data["baz"]; Але чи можна отримати ці значення, якщо ви не знаєте назву властивостей? Невпорядкованість цих властивостей унеможливлює їх …

7
Швидкий самоаналіз класу та дженерики
Я намагаюся динамічно створити class тип на основі екземпляра, використовуючи generics, однак у мене виникають труднощі з самоаналізами класу. Ось питання: Чи є Swift-еквівалент Obj-C self.class? Чи є спосіб інстанціювати клас, використовуючи AnyClassрезультат відNSClassFromString ? Чи є спосіб отримати AnyClassабо іншим чином ввести інформацію строго із загального параметра T? (Подібно …

10
Отримати поля моделі в Django
Враховуючи модель Джанго, я намагаюся перерахувати всі її поля. Я бачив кілька прикладів цього за допомогою атрибута _meta model, але чи не підкреслення перед мета вказує на те, що атрибут _meta є приватним атрибутом і до нього не можна звертатися безпосередньо? ... Тому що, наприклад, макет _meta може змінитися в …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.