Pytania otagowane jako introspection

Zdolność niektórych zorientowanych obiektowo języków programowania do określania typu obiektu w czasie wykonywania.

9
Uzyskiwanie nazwy klasy wystąpienia?
Jak znaleźć nazwę klasy, która utworzyła instancję obiektu w Pythonie, jeśli funkcja, z której to robię, jest klasą podstawową, z której wywodzi się klasa instancji? Zastanawiałem się, czy moduł inspekcji mógł mi tutaj pomóc, ale wydaje się, że nie daje mi tego, czego chcę. Poza analizowaniem __class__członka, nie jestem pewien, …




17
Znajdowanie metod w obiekcie Python
Biorąc pod uwagę dowolny obiekt Pythona, czy istnieje prosty sposób na uzyskanie listy wszystkich metod, które ten obiekt ma? Lub, jeśli nie jest to możliwe, czy istnieje co najmniej łatwy sposób sprawdzenia, czy ma określoną metodę inną niż zwykłe sprawdzenie, czy wystąpił błąd podczas wywoływania metody?

22
Jak zajrzeć do obiektu Python?
Zaczynam pisać w różnych projektach przy użyciu Pythona (w tym tworzenie stron internetowych Django i tworzenie gier Panda3D). Aby pomóc mi zrozumieć, co się dzieje, chciałbym po prostu „spojrzeć” wewnątrz obiektów Pythona, aby zobaczyć, jak zaznaczają - podobnie jak ich metody i właściwości. Powiedzmy, że mam obiekt Python. Czego potrzebowałbym …

15
Jak uzyskać nazwy parametrów metody?
Biorąc pod uwagę funkcję Python: def a_method(arg1, arg2): pass Jak mogę wyodrębnić liczbę i nazwy argumentów. To znaczy, biorąc pod uwagę, że mam odniesienie func, chcę func.[something]wrócić ("arg1", "arg2"). Scenariusz użycia jest taki, że mam dekorator i chcę użyć argumentów metody w tej samej kolejności, w jakiej pojawiają się dla …

5
Używanie isKindOfClass z Swift
Próbuję uchwycić trochę Szybkiego języka i zastanawiam się, jak przekonwertować następujący Cel C w 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 } } Mówiąc …


3
Co oznacza ukośnik w danych wyjściowych help ()?
Co /oznacza w helpdanych wyjściowych Pythona 3.4 rangeprzed nawiasem zamykającym? >>> help(range) Help on class range in module builtins: class range(object) | range(stop) -> range object | range(start, stop[, step]) -> range object | | Return a virtual sequence of numbers from start to stop by step. | | Methods …


14
Pobieranie odziedziczonych nazw / wartości atrybutów za pomocą Java Reflection
Mam obiekt Java „ChildObj”, który jest rozszerzony z „ParentObj”. Teraz, czy możliwe jest pobranie wszystkich nazw atrybutów i wartości ChildObj, w tym również atrybutów dziedziczonych, przy użyciu mechanizmu odbicia Java? Class.getFields podaje tablicę atrybutów publicznych, a Class.getDeclaredFields - tablicę wszystkich pól, ale żadne z nich nie zawiera listy dziedziczonych pól. …

8
Jak uzyskać dostęp do właściwości obiektu javascript, jeśli nie znam nazw?
Załóżmy, że masz taki obiekt javascript: var data = { foo: 'bar', baz: 'quux' }; Dostęp do właściwości można uzyskać poprzez nazwę właściwości: var foo = data.foo; var baz = data["baz"]; Ale czy można uzyskać te wartości, jeśli nie znasz nazwy właściwości? Czy nieuporządkowany charakter tych właściwości uniemożliwia ich odróżnienie? …

10
Pobierz pola modelu w Django
Biorąc pod uwagę model Django, próbuję wymienić wszystkie jego pola. Widziałem kilka przykładów robienia tego przy użyciu atrybutu modelu _meta, ale czy podkreślenie przed meta nie wskazuje, że atrybut _meta jest atrybutem prywatnym i nie powinien być dostępny bezpośrednio? ... Bo na przykład układ _meta mógłby się zmienić w przyszłości …

7
Szybka introspekcja i typy ogólne
Próbuję dynamicznie tworzyć classtypy oparte na instancjach przy użyciu typów ogólnych, jednak napotykam trudności z introspekcją klas. Oto pytania: Czy istnieje odpowiednik języka Swift dla Obj-C self.class? Czy istnieje sposób na utworzenie wystąpienia klasy przy użyciu AnyClasswyniku z NSClassFromString? Czy istnieje sposób, aby uzyskać AnyClasslub w inny sposób wpisać informacje …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.