Ok, Ethan, that makes sense - I generally work with modules in folders,
etc., but, this was just test code, but, 'see' if I instead import
scoping2 as sc2, and then refer to sc2.dt_expiry and sc2.do_it, then it
does operate as it should - thanks, again.
Jacob Kruger
+2782 413 4791
"Resistance is futile!...Acceptance is versatile..."
On 2024/03/06 18:57, Ethan Furman via Python-list wrote:
On 3/6/24 08:28, Jacob Kruger via Python-list wrote:
> C:\temp\py_try>python
> Python 3.11.7 (tags/v3.11.7:fa7a6f2, Dec 4 2023, 19:24:49) [MSC
v.1937 64 bit (AMD64)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> from scoping2 import *
And it becomes clear: only do `from ... import *` when the module has
been specifically designed to support that.
If you were to also do `import scoping2` and, after calling `do_it()`,
`print(scoping2.dt_expiry)`, you would see that it had changed.
I know there are good explanations for how variables and names work in
Python, but I couldn't find any at the moment. Sorry.
--
~Ethan~
--
https://mail.python.org/mailman/listinfo/python-list