Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #4645

Re: [Python-de] Wie sieht Python fuer mich aus?

From "Sven R. Kunze" <srkunze@mail.de>
Newsgroups de.comp.lang.python
Subject Re: [Python-de] Wie sieht Python fuer mich aus?
Date 2017-01-09 21:44 +0100
Message-ID <mailman.407.1483994693.2395.python-de@python.org> (permalink)
References (6 earlier) <edi2t2F5vcjU1@mid.individual.net> <6c4f418c-b74a-9968-82e9-a4eb45ca1237@mail.de> <mailman.405.1483988893.2395.python-de@python.org> <edi8c5F7b3eU1@mid.individual.net> <0c0ce991-1e48-dd0e-9959-0ec3b22b4e0e@mail.de>

Show all headers | View raw


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

Back to de.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Re: [Python-de] Wie sieht Python fuer mich aus? "Sven R. Kunze" <srkunze@mail.de> - 2017-01-09 14:31 +0100
  Re: [Python-de] Wie sieht Python fuer mich aus? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-09 17:33 +0100
    Re: [Python-de] Wie sieht Python fuer mich aus? "Sven R. Kunze" <srkunze@mail.de> - 2017-01-09 18:45 +0100
      Re: [Python-de] Wie sieht Python fuer mich aus? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-09 19:25 +0100
        Re: [Python-de] Wie sieht Python fuer mich aus? "Sven R. Kunze" <srkunze@mail.de> - 2017-01-09 20:08 +0100
          Re: [Python-de] Wie sieht Python fuer mich aus? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-09 20:59 +0100
            Re: [Python-de] Wie sieht Python fuer mich aus? "Sven R. Kunze" <srkunze@mail.de> - 2017-01-09 21:44 +0100
      Re: [Python-de] Wie sieht Python fuer mich aus? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-09 19:37 +0100
    Re: [Python-de] Wie sieht Python fuer mich aus? Thomas Orgelmacher <trash@odbs.org> - 2017-01-09 18:41 +0100
      Re: [Python-de] Wie sieht Python fuer mich aus? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-09 19:11 +0100
        Re: [Python-de] Wie sieht Python fuer mich aus? Thomas Orgelmacher <trash@odbs.org> - 2017-01-09 19:56 +0100
    Re: [Python-de] Wie sieht Python fuer mich aus? Hans-Peter Jansen <hpj@urpla.net> - 2017-01-09 19:51 +0100
      Re: [Python-de] Wie sieht Python fuer mich aus? Hermann Riemann <nospam.gerct08@hermann-riemann.de> - 2017-01-09 20:19 +0100
    Re: [Python-de] Wie sieht Python fuer mich aus? Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2017-01-13 08:40 +0100

csiph-web