# Understanding the if \_\_name\_\_ == '\_\_main\_\_' Syntax

## Syntax:

```python
def run():
	print("the process is starting")
	
def shut_down():
	print("process is shutting down")
	
def email_admin():
	print("Violation noted. Emailing admin...")

# Starting point of the application
if __name__ == '__main__':
	email_admin() # First task running
	shut_down()   # Second task running
```

## It can also be imported:

```python
from process import *

run()
shut_down()
```

## Understanding the syntax

* the variable has underscores in order to not be easy to overwrite by accident
* When you run the file directly the `__name__` variable is assigned the `__main__` value
* Basically if it is defined then it runs the instructions
* If the `if __name__ == '__main__'` is not specified then it will run the file as is
  * For the above case it will run `run`, `shut_down`, `email_admin`
