On Mon, Mar 11, 2019 at 9:02 AM Simon <[email protected]> wrote:
>
> Python's 'in' keyword has already several use cases, whether it's for testing 
> inclusion in a set, or to iterate over that set, nevertheless, I think we 
> could add one more function to that keyword.
>
> It's not uncommon to see star imports in some sources. The reason that people 
> use star imports are mainly the following :
>
> - ease of use of the module's function
> - overwriting parts of a module with another module's similarly named 
> functions.
>
> Obviously, there are plenty of cases where you don't want your module's 
> functions to be overwritten, but sometimes, you do. I'm suggesting that the 
> in keyword would be used to import a module in another module's namespace, 
> with the following syntax :
>
> import numpy as np
> import math in np
>
> This has two advantages over star imports :
>
> 1/ You keep a namespace. For maintainability reasons, it's best to use 
> namespaces
> 2/ You can overwrite parts of a module with another one
> 3/ IDEs would know which modules have been imported and which functions are 
> defined there, which they can't have with star imports.

I'm not entirely sure what the effect of the second statement would
be. Is it like doing "np.sin = math.sin; np.sqrt = math.sqrt" for
every name in the math module? That seems like a massive amount of
monkeypatching. Or is it simply "np.math = math", so you could then
write "np.math.sqrt"? Less problematic, but also not all that useful.
Or is it something else?

Clarify please?

ChrisA
_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to