what is the purpose of __name__ == __main__ in python code example

Example 1: __name__== __main__ in python

# If the python interpreter is running that module (the source file)
# as the main program, it sets the special __name__ variable to have
# a value “__main__”. If this file is being imported from another 
# module, __name__ will be set to the module’s name.
if __name__=='__main__':
  # do something

Example 2: 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