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, …
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 …
Do celów rejestrowania chcę pobrać w pełni kwalifikowaną nazwę klasy obiektu Pythona. (W pełni kwalifikowane mam na myśli nazwę klasy, w tym nazwę pakietu i modułu). Wiem o tym x.__class__.__name__, ale czy istnieje prosty sposób na pobranie pakietu i modułu?
Próbuję zaimplementować funkcjonalność wycinka dla klasy, którą tworzę, która tworzy reprezentację wektorową. Do tej pory mam ten kod, który, jak sądzę, prawidłowo zaimplementuje wycinek, ale za każdym razem, gdy wykonuję wywołanie, takie jak v[4]gdzie v jest wektorem, Python zwraca błąd o braku wystarczających parametrów. Więc próbuję dowiedzieć się, jak zdefiniować …
Mam klasę, w której chcę zastąpić __eq__metodę. Wydaje się sensowne, że powinienem zastąpić __ne__metodę jak dobrze, ale czy to ma sens, aby wdrożyć __ne__w kategoriach __eq__jako takich? class A: def __init__(self, attr): self.attr = attr def __eq__(self, other): return self.attr == other.attr def __ne__(self, other): return not self.__eq__(other) A może …
Jak mogę uzyskać klasę, która zdefiniowała metodę w Pythonie? Chciałbym, aby następujący przykład wyświetlał „ __main__.FooClass”: class FooClass: def foo_method(self): print "foo" class BarClass(FooClass): pass bar = BarClass() print get_class_that_defined_method(bar.foo_method)
Chcę mieć możliwość stworzenia klasy (w Pythonie), która po zainicjowaniu __init__nie akceptuje nowych atrybutów, ale akceptuje modyfikacje istniejących atrybutów. Jest kilka hakerskich sposobów, aby to zrobić, na przykład mając __setattr__metodę taką jak def __setattr__(self, attribute, value): if not attribute in self.__dict__: print "Cannot set %s" % attribute else: self.__dict__[attribute] = …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.