Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: "Sven R. Kunze" Newsgroups: de.comp.lang.python Subject: Re: [Python-de] Wie sieht Python fuer mich aus? Date: Mon, 9 Jan 2017 21:44:50 +0100 Lines: 75 Message-ID: References: <3dee2ce4-274a-3b59-756c-3559e7c568c1@mail.de> <6c4f418c-b74a-9968-82e9-a4eb45ca1237@mail.de> <0c0ce991-1e48-dd0e-9959-0ec3b22b4e0e@mail.de> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de dxtO+LeJTgboznzFjAWG+gAGf9kk2A0sO7VCbmHTstmQ== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mail.de; s=mailde201610; t=1483994691; bh=3A6N64PSNvvmsVG1oGau+H4c4yepohPCQmxhKG8eAWs=; h=Subject:To:References:From:Date:In-Reply-To:From; b=XYD0TO5r+w8MVo8rgO0lfkw1ghrD4BzBVa8IiurR3ObGVfrAwVJHkVrZGkNWJdVzA tlf3jyV/CgqrlC04vhjDmYpAhUW8WlGHcZpLTWexswZOlny3cCa5+WfL+Qn4a4KCe4 jBa4QlsDP36dLeq2NNsIdNJ6kVOAoUpLhxdsOFY0= In-Reply-To: X-purgate: clean X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate: clean X-purgate-size: 5575 X-purgate-ID: 154282::1483994691-00000CF2-D544B17B/0/0 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: <0c0ce991-1e48-dd0e-9959-0ec3b22b4e0e@mail.de> X-Mailman-Original-References: <3dee2ce4-274a-3b59-756c-3559e7c568c1@mail.de> <6c4f418c-b74a-9968-82e9-a4eb45ca1237@mail.de> Xref: csiph.com de.comp.lang.python:4645 On 09.01.2017 20:59, Hermann Riemann wrote: > Wie soll ich das etwa bei > > if not os.access(ordnername, os.F_OK): > os.makedirs(ordnername) > > machen? > Zum Beispiel folgendes verwenden: os.makedirs(ordnername, /exist_ok=True/) > >> - mehr Variablen für Zwischenergebnisse > > Wo dann die Namen zu Verwirrung führen können. > i52, i53 i54 .. > Richtig. Deswegen sprechende Namen. :) >> - die richtigen Python-Idiome anwenden > > Das sehe ich pragmatisch, aber nicht stur. > Die Suche nach Python-Idiome hat mich zu nützlichen Tipps geführt, > weil etliches in den Bücher, an die ich mich orientiere, > nicht enthalten ist. Finde ich gut! > >> - Default-Objekte anstelle von None verwenden > > Extra Objekte erzeugen? Ich geb mal ein Beispiel. Folgende Ausgangssituation: def xxx(input): if input: liste = input.split() for item in liste[:-1]: print(item, end='') print('#####', end='') if len(liste) >= 1: print(liste[-1]) erster Schritt (Reduktion der Einrückung): def xxx(input): input = input or '' # Default-Objekt:'' liste = input.split() for item in liste[:-1]: print(item) print('#####') if len(liste) >= 1: print(liste[-1]) zweiter Schritt (Idiom erkennen): def xxx(input): input = input or '' liste = input.split() print('#####'.join(liste)) Ich gebe zu, das Beispiel ist ein wenig konstruiert, aber es gibt oft einen Weg, kürzer und einfacher zu schreiben. :) Sven