[Python-de] Konventionen

Sebastian Bechtel me at sebastian-bechtel.info
Fr Jul 30 15:38:11 UTC 2010


Hi,

danke Dir und natürlich auch den anderen beiden.

Damit habe ich ja direkt meine gute Nacht Lektüre gefunden ;-)

Gruß Sebastian

Am 30.07.2010 um 16:55 schrieb Sven Broeckling:

> Hallo Sebastian,
> 
> Am Fri, 30 Jul 2010 13:49:09 +0200
> schrieb Sebastian Bechtel <me at sebastian-bechtel.info>:
> 
>> Zum einen bin ich bei der Benennung der Module sehr verwundert. Ich
>> hätte eigentlich erwartet, dass Module entweder komplett klein
>> geschrieben werden sollten oder als CamelCase. Nun treffen mich aber
>> selbst in der Standard Bibliothek beide Typen an und ich habe jetzt
>> keinen Schimmer, nach welcher Konvention ich meine Module benennen
>> soll. Gibt es diesbezüglich überhaupt eine Konvention?
> Gibt es, wie bei vielem in Python in das in einem PEP (Python
> Enhancement Proposal) beschrieben, nämlich in PEP8
> http://www.python.org/dev/peps/pep-0008/
> 
> Und da heisst es unter Package and Module Names:
> Modules should have short, all-lowercase names.  Underscores can be used
> in the module name if it improves readability.  Python packages
> should also have short, all-lowercase names, although the use of
> underscores is discouraged.
> 
> Nach welchen Regeln allerdings einige Module der Standardbibliothek
> nicht komplett klein geschrieben sind kann ich dir auch nicht sagen.
> 
>> In Python habe ich den Einsatz davon bereits gesehen. Es wird zwar
>> nach meinem ersten Eindruck sehr global importiert (oft nur das Basis
>> Packet) aber teilweise werden auch wirklich einzelne Funktionen
>> importiert. Jetzt würde mich natürlich interessieren, ob da ein
>> System steckt. So nach dem Motto Funktionen wie time.time() (statisch
>> + wahrscheinlich relativ einzigartig) importieren wir jetzt direkt
>> während wir urllib.URLOpener nicht direkt importieren, sondern nur
>> urllib, weil es noch andere URLOpener geben könnte, die man verwenden
>> könnte irgendwo.
> Ich mache das eigentlich immer je nach Anwendungsfall. Wenn ich
> Funktionen aus os brauche importiere ich via "import os" das Modul, so
> kann man im Code gut sehen woher ein Symbol stammt. Prinzipiell ist
> allerdings alles möglich, nur verhindern sollte man "Stern-Imports",
> also z.B. "from os import *". So kann man im code gar nicht mehr sehen
> wo etwas herkommt. Pylint (http://pypi.python.org/pypi/pylint)
> bemängelt auch derartige Imports. ("W:  1: Wildcard import os")
> 
> 
> Im PEP Index (http://www.python.org/dev/peps/) findet man auch einiges
> zu Imports im Besonderen. 
> 
> Viele Grüße
>  Sven
> 
> _______________________________________________
> python-de maillist  -  python-de at python.net
> http://python.net/mailman/listinfo/python-de




Mehr Informationen über die Mailingliste python-de