On 2012-08-07 16:07, Marco Mariani wrote:
2012/8/7 Pietro <peter.z...@gmail.com>

solo che in questo modo l'import di una geometria diventa abbastanza
ripetitivo... tipo:

from pygrass.vector.geometry.point import Point
from pygrass.vector.geometry.line import Line


Non c'e' nulla di male.
Anzi, secondo alcune linee guida, la forma corretta sarebbe

from pygrass.vector.geometry import point
per poi usare point.Point

Non mi risultano queste "linee guida". Mi sembra prolissità inutile.


ma l'importante e' che eviti quanto segue


chiamando i file all'interno della cartella con un undescore davanti in
modo che siano
non visibili, tipo:

# pygrass/vector/geometry/__init__.py
from _point import Point


Questo personalmente non l'ho mai visto. Anzi, in genere l'undercore viene
usato per moduli scritti in C.

C'è un modo che vi sentireste di suggerire rispetto ad un altro? è
solo questione di gusti personali?
c'è un metodo più pythonico dell'altro? uno che è meglio evitare?
Mi tengo il file lungo? :-)


Come hai detto, puoi dividere le classi a tuo piacimento, una o piu' classi
per file, e importarle da __init__ o da un ulteriore shapes.py

+1. Ok a definire Point dentro point.py (non c'è bisogno di imboscare il modulo con l'underscore), importare gli oggetti pubblici dentro __init__.py e documentare di usare quello (façade, se vuoi una parola fica).


--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a