Pytania otagowane jako static-methods

Metody, które nie wymagają instancji klasy ani nie mogą niejawnie uzyskać dostępu do danych (lub this, self, Me itp.) Takiej instancji.

3
Wydajność metod statycznych a metody instancyjne
Moje pytanie dotyczy charakterystyki wydajności metod statycznych względem metod instancyjnych oraz ich skalowalności. Załóżmy, że w tym scenariuszu wszystkie definicje klas znajdują się w jednym zestawie i wymagane jest wiele dyskretnych typów wskaźników. Rozważać: public sealed class InstanceClass { public int DoOperation1(string input) { // Some operation. } public int …

4
`staticmethod` i` abc.abstractmethod`: czy to się połączy?
W mojej aplikacji w języku Python chcę utworzyć metodę, która będzie jednocześnie staticmethodrozszerzeniem a i abc.abstractmethod. Jak mam to zrobic? Próbowałem zastosować oba dekoratory, ale to nie działa. Jeśli to zrobię: import abc class C(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod @staticmethod def my_function(): pass Dostaję wyjątek *, a jeśli to zrobię: …


6
Metody statyczne - jak wywołać metodę z innej metody?
Kiedy mam zwykłe metody wywoływania innej metody w klasie, muszę to zrobić class test: def __init__(self): pass def dosomething(self): print "do something" self.dosomethingelse() def dosomethingelse(self): print "do something else" ale kiedy mam metody statyczne, nie mogę pisać self.dosomethingelse() ponieważ nie ma instancji. Jak mam zrobić w Pythonie, aby wywołać metodę …

15
Czy używanie wielu metod statycznych jest złą rzeczą?
Zwykle deklaruję jako statyczne wszystkie metody w klasie, gdy ta klasa nie wymaga śledzenia stanów wewnętrznych. Na przykład, jeśli muszę przekształcić A w B i nie polegać na jakimś wewnętrznym stanie C, który może się różnić, tworzę transformację statyczną. Jeśli istnieje stan wewnętrzny C, który chcę mieć możliwość dostosowania, dodaję …



10
Jakie są zalety używania metod statycznych w Pythonie?
Napotkałem niezwiązany błąd metody w Pythonie z kodem import random class Sample(object): '''This class defines various methods related to the sample''' def drawSample(samplesize,List): sample=random.sample(List,samplesize) return sample Choices=range(100) print Sample.drawSample(5,Choices) Po przeczytaniu wielu pomocnych postów pomyślałem, jak mogę dodać @staticmethodpowyżej, aby kod działał. Jestem nowicjuszem w Pythonie. Czy ktoś mógłby wyjaśnić, …

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.