• Guido van Rossum's avatar
    Two changes to from...import: · 18d4d8f7
    Guido van Rossum authored
    1) "from M import X" now works even if M is not a real module; it's
       basically a getattr() operation with AttributeError exceptions
       changed into ImportError.
    
    2) "from M import *" now looks for M.__all__ to decide which names to
       import; if M.__all__ doesn't exist, it uses M.__dict__.keys() but
       filters out names starting with '_' as before.  Whether or not
       __all__ exists, there's no restriction on the type of M.
    18d4d8f7
ceval.c 73.7 KB