Am Wed, 17 Sep 2003 13:55:39 +0200
Schrieb "Lutz Schröer"
Hai,
Hallo Lutz,
nachdem Rainer mich einigermaßen überzeugt hat, das man Ausnahmen wirklich nur in Ausnahmen nutzen sollte :), stellt sich mir jetzt die Frage, wie ich folgendes eigentlich einfache Problem auch einfach lösen kann:
Ich habe eine Funktion, der ich entweder einen einzelnen String oder eine Liste mit Strings übergeben möchte. Um anschliessend einheitlich mit einer Liste weiterarbeiten zu können, habe ich mir folgendes Konstrukt ausgedacht:
def myFunc(s): if isString(s): s = [s]
und isString sieht so aus:
def isString(s): try: s += ' ' except: return 0 else: return 1
Wie kann ich das auch ohne Exception lösen? Im Kochbuch wird auch folgende Variante angeboten:
def isString(s): return isinstance(s, type(''))
ich würde das so machen def myFunc(s): if type(s) is not type([]): s = [s]
Das funktioniert aber erst ab Python 2.0 und auch nicht mit Unicode. Da es sich um ein Modul handelt, das ich veröffentlichen will, sollte es möglichst universell, am besten Version-1.5- kompatibel und kein Code-Monster sein (ich will's wenigstens selber noch verstehen).
geht auch mit 1.5 und Unicode ist auch kein problem
Wobei sich mir auch gerade die Frage stellt, ob man beim Erstellen von Modulen noch auf die Version 1.5 Rücksicht nehmen sollte (und wie lange noch) oder eine andere Version (welche?) als allgemein vorrätig und benutzt vorraussetzen kann?
ich denke mal 2.1 kann man heutzutage voraussetzen. Neue Projekte, just for fun, mache ich auch nur noch für 2.3 Gruß Fritz _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de