There were logical errors and typo on my code, have been edited and published here
First file: foo.py
import bar
def myname_foo():
if __name__=='foo':
print("foo: I have been imported")
if __name__=='__main__':
print("foo: I am on my own, i.e., standalone")
if __name__=='__main__':
myname_foo()
bar.myname_bar()
Second file: bar.py
import foo
def myname_bar():
if __name__=='bar':
print('bar: I have been imported')
if __name__=='__main__':
print('bar: I am on my own, i.e., standalone')
if __name__=='__main__':
myname_bar()
foo.myname_foo()
The outputs are:
$ python foo.py
foo: I am on my own, i.e., standalone
bar: I have been imported
$ python bar.py
bar: I am on my own, i.e., standalone
foo: I have been imported
you should check better your code
import foo
def myname_bar():
if __name__=='foo':
^^^ bar
if __name__=='__main__':
myname_bar()
bar.myname_foo()
^^^ foo
after that
$ python foo.py
foo: I am on my own, i.e., standalone
bar: I have been imported
$ python bar.py
bar: I am on my own, i.e., standalone
foo: I have been imported