> > First, avoid "from function import *" as it pollutes your namespace. Either > import specific symbols or just the module: > > from function import fun, fun1 > import function
thanks for the hint! But what is the difference between from module import * and import module ? > > Second, if you really must, add an __all__ list to function.py, generally > right at the top: > > __all__ = ['fun', 'fun1'] I've read this already, but to keep the example short I've skipped that part. > > (Note that __all__ is a list of strings.) The "from star" import will only > import the names in the __all__ list. You can also "hide" individual names > from a "from star" import by prefixing them with a single underscore (e.g., > "_c1" instead of "c1"). > the _ before the variable did the trick! Thanks a lot! > Third, one of Python's key concepts is "we're all adults here". You can't > really and truly hide c1 and c2, so just act responsibly and don't mess with > them from outside the function module. It is more to prevent myself from my own stupidness by changing global variables incidentally. Wolfgang -- http://mail.python.org/mailman/listinfo/python-list