2017 Stimmen

Statische Methoden in Python?

Ist es möglich, statische Methoden in Python zu haben, die ich aufrufen könnte, ohne eine Klasse zu initialisieren, wie:

ClassName.static_method()

-2voto

Jeff Silverman Punkte 644

Diese Frage stellt sich mir von Zeit zu Zeit. Der Anwendungsfall und das Beispiel, das ich gerne verwende, ist:

jeffs@jeffs-desktop:/home/jeffs  $ python36
Python 3.6.1 (default, Sep  7 2017, 16:36:03) 
[GCC 6.3.0 20170406] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cmath
>>> print(cmath.sqrt(-4))
2j
>>>
>>> dir(cmath)
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau']
>>> 

Es ist nicht sinnvoll, ein Objekt der Klasse cmath zu erstellen, da es in einem cmath-Objekt keinen Zustand gibt. Allerdings ist cmath eine Sammlung von Methoden, die alle in irgendeiner Weise miteinander verbunden sind. In meinem obigen Beispiel wirken alle Funktionen in cmath in irgendeiner Weise auf komplexe Zahlen ein.

0 Stimmen

Sie haben die Frage nicht beantwortet, sondern stattdessen ein Beispiel geliefert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X