Methode von nicht-instanzierter Klasse aufrufen
Verfasst: Freitag 5. Mai 2006, 11:40
Habe eine Klasse "foo". Die braucht ein Argument "mode", dass von sys.argv[1] kommt. Ist kein sys.argv[1] gegeben, soll die Methode "usage()" aufgerufen werden, obwohl noch keine Instanz von "foo" vorhanden ist:
Fehlermeldung:
Code: Alles auswählen
import sys
class foo:
# constructor
def __init__(self, mode):
print mode
# usage
def usage(self):
print """
foo.bar
"""
if __name__ == "__main__":
if not len(sys.argv) > 1:
foo.usage();
else:
foo(sys.argv[1])
In PHP kann man so auf die Methode einer nicht-instanzierten Klasse zugreifen (Kurzform):cmd hat geschrieben:Traceback (most recent call last):
File "pyshell.py", line 21, in ?
XmlRpcShell.usage();
TypeError: unbound method usage() must be called with XmlRpcShell instance as fi
rst argument (got nothing instead)
Wie geht das in Python?PHP hat geschrieben:<?php
class foo() {
function usage() {
echo ("foo.bar");
}
}
// no instance yet, but method is callable:
foo::usage();
?>