I wonder about why import a variable in python (python 3.4) has different result than importing a module and then referencing, more over why does a deep copy is made - and is there a way to bypass the copy (and not by defining a function that simply returns it)?
a.py
v = 1
def set():
    global v
    v = 3
main.py
import a
import b
a.set()
b.foo()
b.py
from  a import  v
def foo():
    print(v)
    print(a.v)
    print(id(v))
    print(id(a.v))
Output
1
3
1585041872
1585041904
 
     
     
     
     
     
    