if __name__ == __main__ in python meaning code example

Example 1: if __name__ == '__main__': main()

print("before import")
def functionA():
    print("Function A")
def functionB():
    print(("Function B"))
print("before __name__")
if __name__ == '__main__':
    functionA()
    functionB()
print("after __name__")
#===Output===
#before import
#before __name__ guard
#Function A
#Function B
#after __name__ guard

Example 2: python if name == main example

# It's as if the interpreter inserts this at the top
# of your module when run as the main program.
__name__ = "__main__"

Example 3: explained if name main python

# Suppose this is foo.py.

print("before import")
import math

print("before functionA")
def functionA():
    print("Function A")

print("before functionB")
def functionB():
    print("Function B {}".format(math.sqrt(100)))

print("before __name__ guard")
if __name__ == '__main__':
    functionA()
    functionB()
print("after __name__ guard")