There were logical errors and typo on my code, have been edited and published here
First file: foo.py
JavaScript
x
11
11
1
import bar
2
def myname_foo():
3
if __name__=='foo':
4
print("foo: I have been imported")
5
if __name__=='__main__':
6
print("foo: I am on my own, i.e., standalone")
7
8
if __name__=='__main__':
9
myname_foo()
10
bar.myname_bar()
11
Second file: bar.py
JavaScript
1
11
11
1
import foo
2
def myname_bar():
3
if __name__=='bar':
4
print('bar: I have been imported')
5
if __name__=='__main__':
6
print('bar: I am on my own, i.e., standalone')
7
8
if __name__=='__main__':
9
myname_bar()
10
foo.myname_foo()
11
The outputs are:
JavaScript
1
4
1
$ python foo.py
2
foo: I am on my own, i.e., standalone
3
bar: I have been imported
4
JavaScript
1
4
1
$ python bar.py
2
bar: I am on my own, i.e., standalone
3
foo: I have been imported
4
Advertisement
Answer
you should check better your code
JavaScript
1
11
11
1
import foo
2
def myname_bar():
3
if __name__=='foo':
4
^^^ bar
5
6
7
if __name__=='__main__':
8
myname_bar()
9
bar.myname_foo()
10
^^^ foo
11
after that
JavaScript
1
8
1
$ python foo.py
2
foo: I am on my own, i.e., standalone
3
bar: I have been imported
4
5
$ python bar.py
6
bar: I am on my own, i.e., standalone
7
foo: I have been imported
8